/* ==========================================================================
   要店帮 · 私域营销工具平台  设计系统
   纯静态、零外部依赖（适配内网/离线部署）
   ========================================================================== */

:root{
  --brand:      #0B7A63;
  --brand-d:    #075744;
  --brand-2:    #14A085;
  --brand-l:    #E7F6F1;
  --brand-l2:   #D3EDE5;
  --blue:       #0F3E5C;
  --blue-l:     #EAF2F8;
  --ink:        #0D2029;
  --ink-2:      #24404D;
  --muted:      #5D7480;
  --line:       #E1EBE8;
  --bg:         #F6FAF9;
  --card:       #FFFFFF;
  --accent:     #E8792F;
  --accent-l:   #FDF1E7;
  --gold:       #C79A2E;
  --danger:     #C8453F;
  --ok:         #1E9E6A;

  --r-sm: 8px;
  --r:    14px;
  --r-lg: 22px;
  --sh-1: 0 1px 2px rgba(13,32,41,.05), 0 4px 14px rgba(13,32,41,.05);
  --sh-2: 0 2px 6px rgba(13,32,41,.06), 0 14px 40px rgba(11,122,99,.10);
  --sh-3: 0 18px 60px rgba(11,122,99,.16);
  --max:  1180px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  margin:0;
  font-family:"PingFang SC","Microsoft YaHei","Hiragino Sans GB","Source Han Sans SC","Noto Sans CJK SC",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.72;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3,h4{ margin:0; line-height:1.28; font-weight:800; letter-spacing:-.01em; }
p{ margin:0 0 1em; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; cursor:pointer; }
::selection{ background:var(--brand-l2); }

.wrap{ width:100%; max-width:var(--max); margin:0 auto; padding:0 24px; }
.wrap-narrow{ max-width:860px; }
.section{ padding:84px 0; }
.section-sm{ padding:56px 0; }
.center{ text-align:center; }
.mt0{ margin-top:0 } .mb0{ margin-bottom:0 }

/* ---------- 排版 ---------- */
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:13px; font-weight:700; letter-spacing:.14em;
  color:var(--brand); text-transform:uppercase;
  background:var(--brand-l); border:1px solid var(--brand-l2);
  padding:6px 14px; border-radius:999px; margin-bottom:20px;
}
.eyebrow.alt{ color:var(--accent); background:var(--accent-l); border-color:#F7DCC6; }
.h-xl{ font-size:clamp(30px,4.6vw,52px); }
.h-lg{ font-size:clamp(26px,3.4vw,38px); }
.h-md{ font-size:clamp(20px,2.2vw,26px); }
.lead{ font-size:clamp(16px,1.5vw,19px); color:var(--ink-2); line-height:1.85; }
.sub{ color:var(--muted); font-size:15.5px; }
.sec-head{ max-width:820px; margin-bottom:44px; }
.sec-head.center{ margin-left:auto; margin-right:auto; }
.grad-text{
  background:linear-gradient(100deg,var(--brand) 10%,var(--brand-2) 55%,#2C8FB8 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:13px 26px; border-radius:999px; font-weight:700; font-size:15.5px;
  border:1.5px solid transparent; transition:.22s cubic-bezier(.4,0,.2,1);
  white-space:nowrap;
}
.btn-primary{ background:var(--brand); color:#fff; box-shadow:0 6px 20px rgba(11,122,99,.28); }
.btn-primary:hover{ background:var(--brand-d); transform:translateY(-2px); box-shadow:0 12px 30px rgba(11,122,99,.34); }
.btn-accent{ background:var(--accent); color:#fff; box-shadow:0 6px 20px rgba(232,121,47,.3); }
.btn-accent:hover{ background:#D26A22; transform:translateY(-2px); }
.btn-ghost{ background:#fff; color:var(--ink); border-color:var(--line); box-shadow:var(--sh-1); }
.btn-ghost:hover{ border-color:var(--brand); color:var(--brand); transform:translateY(-2px); }
.btn-outline-l{ background:transparent; color:#fff; border-color:rgba(255,255,255,.55); }
.btn-outline-l:hover{ background:rgba(255,255,255,.14); }
.btn-sm{ padding:9px 18px; font-size:14px; }
.btn-row{ display:flex; flex-wrap:wrap; gap:14px; }

/* ---------- 顶部导航 ---------- */
.topbar{
  background:var(--blue); color:#CFE3EC; font-size:13.2px;
  padding:8px 0; letter-spacing:.02em;
}
.topbar .wrap{ display:flex; justify-content:space-between; gap:16px; align-items:center; flex-wrap:wrap; }
.topbar b{ color:#fff; font-weight:600; }

header.nav{
  position:sticky; top:0; z-index:60;
  background:rgba(255,255,255,.92);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--line);
}
.nav-in{ display:flex; align-items:center; gap:22px; height:68px; }
.logo{ display:flex; align-items:center; gap:11px; font-weight:900; font-size:19px; letter-spacing:-.02em; flex-shrink:0; }
.logo-mark{
  width:38px; height:38px; border-radius:11px; flex-shrink:0;
  background:linear-gradient(140deg,var(--brand) 0%,var(--brand-2) 60%,#1C9BB0 100%);
  display:grid; place-items:center; color:#fff; font-size:19px; font-weight:900;
  box-shadow:0 5px 14px rgba(11,122,99,.3);
}
.logo small{ display:block; font-size:11px; font-weight:600; color:var(--muted); letter-spacing:.06em; line-height:1; margin-top:2px; }
.nav-links{ display:flex; gap:4px; margin-left:auto; flex-wrap:wrap; }
.nav-links a{
  padding:8px 13px; border-radius:9px; font-size:14.6px; font-weight:600; color:var(--ink-2); transition:.18s;
}
.nav-links a:hover{ background:var(--brand-l); color:var(--brand); }
.nav-links a.on{ background:var(--brand-l); color:var(--brand); }
.nav-cta{ display:flex; gap:10px; align-items:center; flex-shrink:0; }
.burger{ display:none; margin-left:auto; background:none; border:1px solid var(--line); border-radius:9px; padding:7px 11px; font-size:17px; color:var(--ink); }

/* ---------- 英雄区 ---------- */
.hero{
  position:relative; overflow:hidden; color:#fff;
  background:
    radial-gradient(1100px 520px at 82% -6%, rgba(20,160,133,.55) 0%, transparent 62%),
    radial-gradient(760px 420px at 6% 104%, rgba(28,155,176,.42) 0%, transparent 60%),
    linear-gradient(158deg,#062B3A 0%,#075744 52%,#0B7A63 100%);
}
.hero::after{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(closest-side at 50% 40%,#000,transparent);
          mask-image:radial-gradient(closest-side at 50% 40%,#000,transparent);
}
.hero .wrap{ position:relative; z-index:2; }
.hero-grid{ display:grid; grid-template-columns:1.12fr .88fr; gap:52px; align-items:center; padding:76px 0 84px; }
.hero h1{ font-size:clamp(31px,4.3vw,50px); line-height:1.22; letter-spacing:-.02em; }
.hero h1 em{ font-style:normal; color:#7FE3C6; }
.hero p.lead{ color:#C8E3DC; margin-top:18px; max-width:600px; }
.hero .eyebrow{ color:#8FE8CE; background:rgba(255,255,255,.09); border-color:rgba(255,255,255,.2); }
.hero .btn-row{ margin-top:32px; }
.hero-stats{ display:flex; flex-wrap:wrap; gap:34px; margin-top:44px; padding-top:28px; border-top:1px solid rgba(255,255,255,.16); }
.hero-stats b{ display:block; font-size:29px; font-weight:900; color:#7FE3C6; letter-spacing:-.02em; line-height:1.2; }
.hero-stats span{ font-size:13.4px; color:#A9C9C3; }
.hero-panel{
  background:rgba(255,255,255,.075); border:1px solid rgba(255,255,255,.18);
  border-radius:var(--r-lg); padding:22px; box-shadow:0 30px 70px rgba(0,0,0,.3);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
}
.hero-panel h4{ font-size:14px; color:#9FE3CE; letter-spacing:.1em; text-transform:uppercase; margin-bottom:16px; }
.flow-line{ display:flex; flex-direction:column; gap:10px; }
.flow-node{
  display:flex; align-items:center; gap:12px; padding:12px 14px; border-radius:12px;
  background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.14); font-size:14.2px; color:#EAF7F3;
}
.flow-node i{ width:26px; height:26px; border-radius:8px; background:rgba(127,227,198,.22); color:#7FE3C6; display:grid; place-items:center; font-size:13px; font-weight:800; font-style:normal; flex-shrink:0; }
.flow-node em{ font-style:normal; font-size:12.4px; color:#A9C9C3; margin-left:auto; }

/* ---------- 通用卡片 / 网格 ---------- */
.grid{ display:grid; gap:22px; }
.g2{ grid-template-columns:repeat(2,1fr); }
.g3{ grid-template-columns:repeat(3,1fr); }
.g4{ grid-template-columns:repeat(4,1fr); }
.g5{ grid-template-columns:repeat(5,1fr); }

.card{
  background:var(--card); border:1px solid var(--line); border-radius:var(--r);
  padding:26px; box-shadow:var(--sh-1); transition:.24s cubic-bezier(.4,0,.2,1); position:relative;
}
.card:hover{ transform:translateY(-4px); box-shadow:var(--sh-2); border-color:var(--brand-l2); }
.card h3{ font-size:18.5px; margin-bottom:9px; }
.card p{ color:var(--muted); font-size:14.8px; margin:0; line-height:1.75; }
.card .ico{
  width:46px; height:46px; border-radius:13px; display:grid; place-items:center;
  font-size:22px; margin-bottom:16px; background:var(--brand-l); color:var(--brand);
}
.card.plate{ padding:30px; }
.card .tag{
  display:inline-block; font-size:12px; font-weight:700; padding:3px 10px; border-radius:999px;
  background:var(--brand-l); color:var(--brand); margin-bottom:12px;
}
.card ul.ticks{ margin-top:14px; display:flex; flex-direction:column; gap:8px; }
.card ul.ticks li{ font-size:14.3px; color:var(--ink-2); padding-left:22px; position:relative; }
.card ul.ticks li::before{ content:"✓"; position:absolute; left:0; color:var(--brand-2); font-weight:900; }

.card-dark{ background:var(--blue); border-color:var(--blue); color:#fff; }
.card-dark h3{ color:#fff; } .card-dark p{ color:#A9C9C3; }
.card-dark .ico{ background:rgba(127,227,198,.16); color:#7FE3C6; }
.card-accent{ background:linear-gradient(150deg,#FFF8F2,#FDF1E7); border-color:#F7DCC6; }
.card-accent .ico{ background:#FBE3CE; color:var(--accent); }

/* ---------- 痛点 / 对比 ---------- */
.pain-list{ display:grid; gap:14px; }
.pain{ display:flex; gap:14px; padding:16px 18px; background:#fff; border:1px solid var(--line); border-left:4px solid var(--danger); border-radius:0 var(--r-sm) var(--r-sm) 0; }
.pain b{ display:block; font-size:15.4px; }
.pain span{ font-size:14px; color:var(--muted); }
.solve{ border-left-color:var(--brand-2); }

table.tbl{ width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--line); border-radius:var(--r); overflow:hidden; font-size:14.6px; }
table.tbl th{ background:var(--brand-l); color:var(--brand-d); font-weight:800; text-align:left; padding:13px 16px; font-size:14px; border-bottom:1px solid var(--brand-l2); }
table.tbl td{ padding:13px 16px; border-bottom:1px solid var(--line); color:var(--ink-2); vertical-align:top; }
table.tbl tr:last-child td{ border-bottom:none; }
table.tbl tr:hover td{ background:#FBFDFC; }
table.tbl td strong{ color:var(--ink); }

/* ---------- 传帮带 ---------- */
.cbb{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.cbb-item{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:28px 24px; box-shadow:var(--sh-1); position:relative; overflow:hidden; }
.cbb-item::before{ content:""; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,var(--brand),var(--brand-2)); }
.cbb-item .zi{ font-size:44px; font-weight:900; color:var(--brand-l2); line-height:1; margin-bottom:6px; letter-spacing:-.04em; }
.cbb-item h3{ font-size:19px; margin-bottom:4px; }
.cbb-item .en{ font-size:11.6px; letter-spacing:.14em; color:var(--muted); text-transform:uppercase; font-weight:700; margin-bottom:12px; }
.cbb-item p{ color:var(--muted); font-size:14.6px; margin:0 0 12px; }
.cbb-item ul li{ font-size:14.2px; color:var(--ink-2); padding-left:18px; position:relative; margin-bottom:6px; }
.cbb-item ul li::before{ content:"·"; position:absolute; left:4px; color:var(--brand-2); font-weight:900; }

/* ---------- 角色矩阵 ---------- */
.roles{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.role{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:22px; box-shadow:var(--sh-1); transition:.24s; }
.role:hover{ transform:translateY(-4px); box-shadow:var(--sh-2); }
.role .rh{ display:flex; align-items:center; gap:11px; margin-bottom:12px; }
.role .rh span{ width:38px; height:38px; border-radius:11px; display:grid; place-items:center; font-size:19px; background:var(--brand-l); }
.role h4{ font-size:16.4px; }
.role p{ font-size:14.1px; color:var(--muted); margin:0; }
.role .kv{ margin-top:12px; padding-top:12px; border-top:1px dashed var(--line); font-size:13.6px; color:var(--brand); font-weight:600; }

/* ---------- 步骤 / 流程 ---------- */
.steps{ counter-reset:s; display:grid; gap:0; }
.step{ display:grid; grid-template-columns:64px 1fr; gap:20px; padding-bottom:30px; position:relative; }
.step:not(:last-child)::before{ content:""; position:absolute; left:31px; top:56px; bottom:0; width:2px; background:linear-gradient(var(--brand-l2),transparent); }
.step .num{
  width:62px; height:62px; border-radius:18px; background:#fff; border:1.5px solid var(--brand-l2);
  display:grid; place-items:center; font-size:20px; font-weight:900; color:var(--brand); box-shadow:var(--sh-1); z-index:1;
}
.step h3{ font-size:18.5px; margin-bottom:6px; }
.step p{ color:var(--muted); font-size:14.8px; margin:0; }
.step .meta{ margin-top:9px; font-size:13.2px; color:var(--brand); font-weight:700; }

/* ---------- 时间线 ---------- */
.roadmap{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-radius:var(--r); overflow:hidden; border:1px solid var(--line); background:#fff; }
.rm{ padding:26px 24px; border-right:1px solid var(--line); position:relative; }
.rm:last-child{ border-right:none; }
.rm .ph{ font-size:12px; font-weight:800; letter-spacing:.12em; color:var(--accent); text-transform:uppercase; }
.rm h3{ font-size:18px; margin:8px 0 10px; }
.rm p{ font-size:14.2px; color:var(--muted); margin:0 0 12px; }
.rm ul li{ font-size:13.8px; color:var(--ink-2); padding-left:17px; position:relative; margin-bottom:6px; }
.rm ul li::before{ content:"→"; position:absolute; left:0; color:var(--brand-2); font-weight:800; }
.rm .dur{ position:absolute; top:24px; right:22px; font-size:12.4px; color:var(--muted); font-weight:700; }

/* ---------- 图表（手写 SVG/CSS，无依赖） ---------- */
.bars{ display:flex; align-items:flex-end; gap:14px; height:190px; padding:0 4px; }
.bar-col{ flex:1; display:flex; flex-direction:column; align-items:center; gap:8px; height:100%; justify-content:flex-end; }
.bar{ width:100%; max-width:46px; border-radius:8px 8px 0 0; background:linear-gradient(180deg,var(--brand-2),var(--brand)); position:relative; transition:height .8s cubic-bezier(.4,0,.2,1); }
.bar.alt{ background:linear-gradient(180deg,#3EA8C4,#2C8FB8); }
.bar-col .v{ font-size:13px; font-weight:800; color:var(--brand-d); }
.bar-col .l{ font-size:12.4px; color:var(--muted); }
.legend{ display:flex; gap:18px; flex-wrap:wrap; font-size:13.4px; color:var(--muted); margin-top:14px; }
.legend i{ display:inline-block; width:11px; height:11px; border-radius:3px; margin-right:6px; vertical-align:-1px; }

.progress-row{ margin-bottom:16px; }
.progress-row .pr-top{ display:flex; justify-content:space-between; font-size:14px; margin-bottom:7px; }
.progress-row .pr-top b{ color:var(--ink); font-weight:700; }
.progress-row .pr-top span{ color:var(--brand); font-weight:800; }
.track{ height:9px; background:var(--brand-l); border-radius:999px; overflow:hidden; }
.track i{ display:block; height:100%; border-radius:999px; background:linear-gradient(90deg,var(--brand),var(--brand-2)); }

/* ---------- KPI ---------- */
.kpis{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.kpi{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:22px; box-shadow:var(--sh-1); }
.kpi b{ display:block; font-size:31px; font-weight:900; color:var(--brand); letter-spacing:-.02em; line-height:1.15; }
.kpi span{ font-size:13.6px; color:var(--muted); }
.kpi em{ font-style:normal; display:inline-block; margin-top:8px; font-size:12.4px; font-weight:700; color:var(--ok); background:#E7F6F1; padding:2px 9px; border-radius:999px; }

/* ---------- 引用 / 高亮块 ---------- */
.quote{
  background:linear-gradient(150deg,#fff,#F4FBF9); border:1px solid var(--brand-l2); border-radius:var(--r-lg);
  padding:34px; position:relative;
}
.quote::before{ content:"“"; position:absolute; top:6px; left:22px; font-size:76px; color:var(--brand-l2); font-family:Georgia,serif; line-height:1; }
.quote p{ font-size:17.4px; color:var(--ink-2); position:relative; z-index:1; margin-bottom:14px; }
.quote .who{ font-size:14px; color:var(--muted); font-weight:700; }

.note{ background:var(--blue-l); border:1px solid #CFE0EC; border-radius:var(--r); padding:20px 22px; font-size:14.6px; color:var(--blue); }
.note b{ color:var(--blue); }
.note-warn{ background:var(--accent-l); border-color:#F7DCC6; color:#8A4A16; }

/* ---------- CTA 横幅 ---------- */
.cta-band{
  background:linear-gradient(150deg,#062B3A 0%,#075744 55%,#0B7A63 100%);
  border-radius:var(--r-lg); padding:52px 46px; color:#fff; position:relative; overflow:hidden;
}
.cta-band::after{ content:""; position:absolute; right:-90px; top:-90px; width:320px; height:320px; border-radius:50%; background:radial-gradient(circle,rgba(127,227,198,.3),transparent 68%); }
.cta-band h2{ font-size:clamp(23px,2.6vw,31px); position:relative; z-index:1; }
.cta-band p{ color:#B9D9D2; margin:12px 0 26px; position:relative; z-index:1; max-width:660px; }
.cta-band .btn-row{ position:relative; z-index:1; }

/* ---------- 页脚 ---------- */
footer.site{ background:#082B36; color:#9FBCC4; padding:60px 0 30px; font-size:14.2px; margin-top:0; }
footer.site .fgrid{ display:grid; grid-template-columns:1.5fr repeat(5,1fr); gap:26px; padding-bottom:36px; border-bottom:1px solid rgba(255,255,255,.1); }
footer.site h5{ color:#fff; font-size:14.4px; margin-bottom:14px; font-weight:800; }
footer.site a{ display:block; padding:4px 0; color:#9FBCC4; transition:.18s; font-size:13.8px; }
footer.site a:hover{ color:#7FE3C6; }
footer.site .logo{ color:#fff; margin-bottom:14px; }
footer.site .logo small{ color:#7E9AA3; }
.fbot{ display:flex; justify-content:space-between; gap:16px; padding-top:22px; flex-wrap:wrap; font-size:13px; color:#7E9AA3; }

/* ---------- 子页头部 ---------- */
.page-head{
  background:linear-gradient(160deg,#062B3A 0%,#075744 58%,#0B7A63 100%);
  color:#fff; padding:64px 0 58px; position:relative; overflow:hidden;
}
.page-head::after{ content:""; position:absolute; right:-60px; bottom:-140px; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle,rgba(20,160,133,.42),transparent 68%); }
.page-head .wrap{ position:relative; z-index:2; }
.page-head h1{ font-size:clamp(27px,3.6vw,42px); }
.page-head p{ color:#B9D9D2; margin-top:16px; max-width:760px; font-size:16.4px; }
.crumb{ font-size:13px; color:#8FB6BE; margin-bottom:16px; }
.crumb a:hover{ color:#7FE3C6; }

/* ---------- 工作台 ---------- */
.wb-shell{ display:grid; grid-template-columns:228px 1fr; min-height:640px; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-2); }
.wb-side{ background:#082B36; padding:20px 14px; color:#9FBCC4; }
.wb-side .logo{ color:#fff; font-size:16px; margin-bottom:22px; padding-left:6px; }
.wb-side .logo-mark{ width:32px; height:32px; font-size:16px; border-radius:9px; }
.wb-nav{ display:flex; flex-direction:column; gap:3px; }
.wb-nav button{
  display:flex; align-items:center; gap:10px; width:100%; text-align:left;
  background:none; border:none; color:#9FBCC4; padding:10px 12px; border-radius:9px;
  font-size:14.2px; font-weight:600; transition:.18s;
}
.wb-nav button:hover{ background:rgba(255,255,255,.07); color:#fff; }
.wb-nav button.on{ background:var(--brand); color:#fff; }
.wb-main{ padding:26px 28px; background:var(--bg); overflow:hidden; }
.wb-top{ display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:22px; flex-wrap:wrap; }
.wb-top h2{ font-size:21px; }
.wb-top p{ font-size:13.8px; color:var(--muted); margin:3px 0 0; }
.wb-pane{ display:none; } .wb-pane.on{ display:block; }
.wb-card{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:20px; box-shadow:var(--sh-1); }
.wb-card h4{ font-size:15.4px; margin-bottom:14px; }
.wb-metrics{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:20px; }
.wb-m{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:16px 18px; box-shadow:var(--sh-1); }
.wb-m b{ display:block; font-size:25px; font-weight:900; color:var(--brand); letter-spacing:-.02em; }
.wb-m span{ font-size:12.8px; color:var(--muted); }
.wb-m em{ font-style:normal; font-size:12px; font-weight:700; color:var(--ok); }
.wb-m em.dn{ color:var(--danger); }
.mini-tbl{ width:100%; border-collapse:collapse; font-size:13.8px; }
.mini-tbl th{ text-align:left; padding:9px 10px; color:var(--muted); font-weight:700; font-size:12.6px; border-bottom:1px solid var(--line); }
.mini-tbl td{ padding:10px; border-bottom:1px solid #F0F5F3; color:var(--ink-2); }
.mini-tbl tr:last-child td{ border-bottom:none; }
.pill{ display:inline-block; font-size:11.8px; font-weight:700; padding:2px 9px; border-radius:999px; background:var(--brand-l); color:var(--brand); }
.pill.o{ background:var(--accent-l); color:var(--accent); }
.pill.g{ background:#EEE; color:#666; }
.pill.r{ background:#FBE9E8; color:var(--danger); }
.code-chip{
  display:inline-grid; place-items:center; width:44px; height:44px; border-radius:9px; background:#fff;
  border:1px solid var(--line); font-family:ui-monospace,Menlo,Consolas,monospace; font-size:11px; color:var(--muted);
  background-image:linear-gradient(45deg,#0D2029 25%,transparent 25%,transparent 75%,#0D2029 75%),linear-gradient(45deg,#0D2029 25%,transparent 25%,transparent 75%,#0D2029 75%);
  background-size:6px 6px; background-position:0 0,3px 3px; background-color:#fff; text-shadow:0 0 4px #fff,0 0 4px #fff;
}
.task-row{ display:flex; align-items:center; gap:14px; padding:13px 0; border-bottom:1px solid #F0F5F3; }
.task-row:last-child{ border-bottom:none; }
.task-row .t{ flex:1; }
.task-row .t b{ display:block; font-size:14.4px; }
.task-row .t span{ font-size:12.8px; color:var(--muted); }
.material-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.mat{ border:1px solid var(--line); border-radius:var(--r-sm); overflow:hidden; background:#fff; transition:.2s; cursor:pointer; }
.mat:hover{ border-color:var(--brand-2); transform:translateY(-3px); box-shadow:var(--sh-1); }
.mat .th{ height:96px; display:grid; place-items:center; font-size:30px; background:linear-gradient(150deg,var(--brand-l),#fff); }
.mat .mt{ padding:10px 12px; font-size:13.2px; font-weight:600; }
.mat .ms{ padding:0 12px 11px; font-size:11.8px; color:var(--muted); }
.copy-ok{ background:var(--ok)!important; color:#fff!important; border-color:var(--ok)!important; }

/* ---------- 表单 ---------- */
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field{ display:flex; flex-direction:column; gap:7px; }
.field.full{ grid-column:1/-1; }
.field label{ font-size:13.6px; font-weight:700; color:var(--ink-2); }
.field input,.field select,.field textarea{
  padding:12px 14px; border:1.5px solid var(--line); border-radius:var(--r-sm); font-size:14.6px;
  font-family:inherit; background:#fff; color:var(--ink); transition:.18s; width:100%;
}
.field input:focus,.field select:focus,.field textarea:focus{ outline:none; border-color:var(--brand); box-shadow:0 0 0 3px var(--brand-l); }
.field textarea{ resize:vertical; min-height:100px; }
.form-msg{ display:none; margin-top:16px; padding:14px 18px; border-radius:var(--r-sm); background:var(--brand-l); color:var(--brand-d); font-size:14.4px; font-weight:600; }
.form-msg.on{ display:block; }

/* ---------- 杂项 ---------- */
.divider{ height:1px; background:var(--line); margin:56px 0; }
.chips{ display:flex; flex-wrap:wrap; gap:10px; }
.chip{ font-size:13.6px; padding:7px 15px; border-radius:999px; background:#fff; border:1px solid var(--line); color:var(--ink-2); font-weight:600; }
.chip.on{ background:var(--brand-l); border-color:var(--brand-l2); color:var(--brand); }
.tier{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:start; }
.tier .t-card{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:28px 24px; box-shadow:var(--sh-1); }
.tier .t-card.hi{ border-color:var(--brand); box-shadow:var(--sh-3); position:relative; }
.tier .t-card.hi::after{ content:"推荐"; position:absolute; top:-13px; right:22px; background:var(--accent); color:#fff; font-size:12px; font-weight:800; padding:4px 13px; border-radius:999px; }
.tier h3{ font-size:19px; margin-bottom:6px; }
.tier .price{ font-size:15px; color:var(--brand); font-weight:800; margin-bottom:16px; }
.tier ul li{ font-size:14.2px; color:var(--ink-2); padding-left:20px; position:relative; margin-bottom:8px; }
.tier ul li::before{ content:"✓"; position:absolute; left:0; color:var(--brand-2); font-weight:900; }
.matrix{ width:100%; border-collapse:collapse; font-size:14.2px; background:#fff; border:1px solid var(--line); border-radius:var(--r); overflow:hidden; }
.matrix th,.matrix td{ padding:11px 13px; border-bottom:1px solid var(--line); text-align:center; }
.matrix th:first-child,.matrix td:first-child{ text-align:left; color:var(--ink); font-weight:700; }
.matrix thead th{ background:var(--blue); color:#fff; font-size:13.4px; font-weight:700; }
.matrix td.yes{ color:var(--brand-2); font-weight:900; }
.matrix td.no{ color:#C9D4D8; }
.matrix tbody tr:hover td{ background:#FBFDFC; }

/* ==========================================================================
   内容中台 / 案例中心 / 多租户品牌馆（第二阶段新增）
   ========================================================================== */

/* ---------- 导航下拉 ---------- */
.nav-links .has-drop{ position:relative; }
.nav-links .has-drop > a{ display:flex; align-items:center; gap:5px; }
.nav-links .has-drop > a::after{ content:"▾"; font-size:10px; opacity:.6; }
.drop{
  display:none; position:absolute; top:calc(100% + 8px); right:0; min-width:210px;
  max-height:min(72vh,540px); overflow-y:auto;
  background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:8px;
  box-shadow:var(--sh-2); z-index:200;
}
.drop.on{ display:block; }
.drop a{ display:block; padding:9px 12px; border-radius:8px; font-size:14px; color:var(--ink-2); }
.drop a:hover{ background:var(--brand-l); color:var(--brand); }
.drop a small{ display:block; font-size:11.6px; color:var(--muted); font-weight:400; }
/* 三级分组：分组标题行 + 分隔 */
.drop .grp{ padding:9px 12px 4px; font-size:11.5px; font-weight:700; letter-spacing:.08em; color:var(--muted); }
.drop .grp:not(:first-child){ margin-top:6px; border-top:1px solid var(--line); }
@media (max-width:860px){
  .drop{ position:static; box-shadow:none; border:none; padding:0 0 0 14px; min-width:0; }
  .drop.on{ display:block; }
}

/* ---------- 筛选栏（通用） ---------- */
.filter-bar{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.filter-bar input,.filter-bar select{
  padding:10px 14px; border:1.5px solid var(--line); border-radius:var(--r-sm);
  font-size:14px; font-family:inherit; background:#fff; color:var(--ink);
}
.filter-bar input{ flex:1; min-width:200px; }
.filter-bar input:focus,.filter-bar select:focus{ outline:none; border-color:var(--brand); box-shadow:0 0 0 3px var(--brand-l); }

/* ---------- 案例卡 ---------- */
.case-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.case-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:24px;
  box-shadow:var(--sh-1); transition:.24s cubic-bezier(.4,0,.2,1); cursor:pointer;
  display:flex; flex-direction:column;
}
.case-card:hover{ transform:translateY(-4px); box-shadow:var(--sh-2); border-color:var(--brand-l2); }
.cc-top{ display:flex; align-items:center; gap:8px; margin-bottom:14px; flex-wrap:wrap; }
.cc-track{ font-size:11.8px; font-weight:800; letter-spacing:.08em; color:var(--brand); background:var(--brand-l); padding:3px 10px; border-radius:999px; }
.cc-type{ font-size:11.8px; font-weight:700; color:var(--muted); border:1px solid var(--line); padding:3px 10px; border-radius:999px; }
.cc-badge{ font-size:11.4px; font-weight:700; padding:3px 9px; border-radius:999px; background:#EFEFEF; color:#777; margin-left:auto; }
.cc-badge.ok{ background:var(--brand-l); color:var(--brand); }
.case-card h3{ font-size:17px; line-height:1.45; margin-bottom:10px; }
.cc-sum{ font-size:14.2px; color:var(--muted); margin:0 0 16px; flex:1; }
.cc-kv{ display:flex; gap:18px; flex-wrap:wrap; padding:14px 0; border-top:1px dashed var(--line); }
.cc-kv span{ font-size:12px; color:var(--muted); }
.cc-kv b{ display:block; font-size:14.6px; color:var(--ink); font-weight:800; }
.cc-foot{ display:flex; justify-content:space-between; align-items:center; margin-top:14px; font-size:13px; }
.cc-tenant{ color:var(--muted); font-weight:600; }
.cc-more{ color:var(--brand); font-weight:700; }

/* ---------- 案例弹窗 ---------- */
.modal{ position:fixed; inset:0; background:rgba(6,29,38,.62); z-index:200; display:none; padding:28px 20px; overflow-y:auto; }
.modal.on{ display:block; }
.modal-panel{
  background:var(--bg); max-width:840px; margin:0 auto; border-radius:var(--r-lg);
  box-shadow:0 30px 80px rgba(0,0,0,.4); overflow:hidden;
}
.modal-head{ background:linear-gradient(150deg,#062B3A,#0B7A63); color:#fff; padding:28px 32px; position:relative; }
.modal-head h3{ font-size:21px; margin:10px 0 8px; }
.modal-head .mh-meta{ font-size:13.4px; color:#A9C9C3; }
.modal-close{
  position:absolute; top:18px; right:20px; width:34px; height:34px; border-radius:50%;
  background:rgba(255,255,255,.16); border:none; color:#fff; font-size:17px; line-height:1;
}
.modal-close:hover{ background:rgba(255,255,255,.28); }
.modal-body{ padding:26px 32px 32px; }
.cd-block{ margin-bottom:24px; }
.cd-block h4{ font-size:14.6px; color:var(--brand); letter-spacing:.06em; margin-bottom:10px; }
.cd-block p{ font-size:14.6px; color:var(--ink-2); margin:0; }
.cd-block ul.dot{ display:flex; flex-direction:column; gap:8px; }
.cd-block ul.dot li{ font-size:14.4px; color:var(--ink-2); padding-left:20px; position:relative; }
.cd-block ul.dot li::before{ content:"·"; position:absolute; left:6px; color:var(--brand-2); font-weight:900; font-size:19px; line-height:1.1; }
.works{ display:flex; flex-wrap:wrap; gap:9px; }
.work{
  display:inline-flex; align-items:center; gap:7px; font-size:13.6px; font-weight:600;
  background:#fff; border:1px solid var(--line); border-radius:999px; padding:8px 15px; color:var(--ink-2);
}
.work:hover{ border-color:var(--brand); color:var(--brand); }
.work span{ color:var(--brand); font-weight:700; font-size:12.4px; }
.kpis-sm{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.ks{ background:#fff; border:1px solid var(--line); border-radius:var(--r-sm); padding:14px 16px; }
.ks b{ display:block; font-size:19px; font-weight:900; color:var(--brand); }
.ks span{ font-size:12.6px; color:var(--muted); }
.ks em{ font-style:normal; display:block; margin-top:5px; font-size:11.4px; color:var(--accent); }

/* ---------- 建设轨迹 ---------- */
.feed{ position:relative; padding-left:34px; }
.feed::before{ content:""; position:absolute; left:9px; top:8px; bottom:8px; width:2px; background:linear-gradient(var(--brand-l2),var(--line)); }
.feed-item{ position:relative; padding-bottom:22px; }
.feed-item::before{
  content:""; position:absolute; left:-30px; top:6px; width:12px; height:12px; border-radius:50%;
  background:#fff; border:2.5px solid var(--brand); box-shadow:0 0 0 3px var(--brand-l);
}
.feed-item.doing::before{ background:var(--accent); border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-l); }
.feed-item b{ display:block; font-size:15.4px; }
.feed-item .ft{ font-size:12.4px; font-weight:800; letter-spacing:.08em; color:var(--accent); }
.feed-item p{ font-size:13.8px; color:var(--muted); margin:3px 0 0; }

/* ---------- 租户卡（品牌馆） ---------- */
.tenant-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.t-card-lg{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden;
  box-shadow:var(--sh-1); transition:.24s; display:flex; flex-direction:column;
}
.t-card-lg:hover{ transform:translateY(-4px); box-shadow:var(--sh-2); }
.t-cover{ height:104px; position:relative; display:flex; align-items:flex-end; padding:16px 20px; }
.t-cover .t-logo{
  width:48px; height:48px; border-radius:13px; background:rgba(255,255,255,.94);
  display:grid; place-items:center; font-size:20px; font-weight:900; color:#0D2029;
  position:absolute; top:80px; left:20px; box-shadow:var(--sh-1);
}
.t-body{ padding:34px 20px 20px; flex:1; display:flex; flex-direction:column; }
.t-body h3{ font-size:17.4px; margin-bottom:4px; }
.t-body .t-sub{ font-size:13px; color:var(--muted); margin-bottom:12px; }
.t-body .t-intro{ font-size:13.8px; color:var(--ink-2); flex:1; margin:0 0 14px; }
.t-marks{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:14px; }
.t-mark{ font-size:11.6px; font-weight:700; padding:3px 9px; border-radius:999px; background:var(--brand-l); color:var(--brand); }
.t-mark.v{ background:var(--blue-l); color:var(--blue); }
.t-foot{ display:flex; justify-content:space-between; align-items:center; padding-top:14px; border-top:1px dashed var(--line); font-size:13px; color:var(--muted); }

/* ---------- 租户主页头部 ---------- */
.tenant-hero{ padding:52px 0 44px; color:#fff; position:relative; overflow:hidden; }
.tenant-hero::after{ content:""; position:absolute; right:-80px; top:-90px; width:360px; height:360px; border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.16),transparent 68%); }
.tenant-hero .wrap{ position:relative; z-index:2; }
.th-top{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.th-logo{
  width:66px; height:66px; border-radius:18px; background:rgba(255,255,255,.95);
  display:grid; place-items:center; font-size:27px; font-weight:900; color:#0D2029; flex-shrink:0;
}
.th-top h1{ font-size:clamp(24px,3vw,34px); }
.th-top .th-sub{ font-size:14px; opacity:.85; margin-top:4px; }
.th-badges{ display:flex; gap:8px; flex-wrap:wrap; margin-left:auto; }
.th-badge{ font-size:12.4px; font-weight:700; padding:5px 13px; border-radius:999px; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.24); }
.tenant-hero p.th-intro{ max-width:760px; margin-top:20px; font-size:16px; opacity:.92; }
.th-stats{ display:flex; gap:34px; flex-wrap:wrap; margin-top:28px; padding-top:22px; border-top:1px solid rgba(255,255,255,.2); }
.th-stats b{ display:block; font-size:25px; font-weight:900; }
.th-stats span{ font-size:13px; opacity:.8; }

/* ---------- 渠道矩阵 ---------- */
.chan-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.chan{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:18px; box-shadow:var(--sh-1); }
.chan b{ display:block; font-size:15px; margin-bottom:6px; }
.chan span{ font-size:12.8px; color:var(--muted); }
.chan i{ display:inline-block; width:8px; height:8px; border-radius:50%; margin-right:6px; vertical-align:1px; }
.chan .on{ background:var(--ok); } .chan .plan{ background:var(--gold); }

/* ---------- 内容中台流水线 ---------- */
.pipe{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.pipe-col{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:16px; box-shadow:var(--sh-1); }
.pipe-col h4{ font-size:14px; margin-bottom:12px; display:flex; justify-content:space-between; align-items:center; }
.pipe-col h4 span{ font-size:11.8px; font-weight:700; color:var(--muted); background:var(--bg); border-radius:999px; padding:2px 9px; }
.pipe-item{ border:1px solid var(--line); border-radius:var(--r-sm); padding:11px 13px; margin-bottom:9px; font-size:13.4px; background:#fff; }
.pipe-item b{ display:block; font-size:13.6px; margin-bottom:3px; }
.pipe-item span{ font-size:11.8px; color:var(--muted); }
.pipe-item.warn{ border-color:#F7DCC6; background:var(--accent-l); }
.pipe-item.ok{ border-color:var(--brand-l2); background:var(--brand-l); }
.pipe-item .pi-act{ margin-top:8px; display:flex; gap:6px; }
.pipe-item .pi-act button{ font-size:11.6px; padding:4px 11px; border-radius:999px; border:1px solid var(--line); background:#fff; font-weight:700; color:var(--ink-2); }
.pipe-item .pi-act button.p{ background:var(--brand); color:#fff; border-color:var(--brand); }
.pipe-item .pi-act button.r{ background:#fff; color:var(--danger); border-color:#F0C7C5; }

.check-list{ display:grid; gap:8px; }
.chk{ display:flex; gap:10px; align-items:flex-start; font-size:13.6px; color:var(--ink-2); background:#fff; border:1px solid var(--line); border-radius:var(--r-sm); padding:11px 14px; }
.chk b{ color:var(--ink); }
.chk i{ font-style:normal; flex-shrink:0; }

/* ---------- 代码块 / 接口文档 ---------- */
pre.code{
  background:#082B36; color:#CFE9E2; border-radius:var(--r); padding:18px 20px; overflow-x:auto;
  font-family:ui-monospace,Menlo,Consolas,"Courier New",monospace; font-size:13px; line-height:1.75; margin:16px 0;
}
pre.code .c{ color:#6E9A93; }
pre.code .k{ color:#7FE3C6; }
pre.code .s{ color:#F0A05E; }
code.inl{ background:var(--brand-l); color:var(--brand-d); padding:2px 7px; border-radius:5px; font-size:13.2px; font-family:ui-monospace,Menlo,Consolas,monospace; }
.method{ display:inline-block; font-size:11.4px; font-weight:800; padding:2px 8px; border-radius:5px; font-family:ui-monospace,monospace; }
.m-get{ background:#E7F6F1; color:#0B7A63; }
.m-post{ background:#EAF2F8; color:#0F3E5C; }
.m-put{ background:#FDF1E7; color:#C1662A; }
.m-del{ background:#FBE9E8; color:#C8453F; }
table.api{ width:100%; border-collapse:collapse; font-size:13.6px; background:#fff; border:1px solid var(--line); border-radius:var(--r); overflow:hidden; }
table.api th{ background:var(--blue); color:#fff; text-align:left; padding:11px 14px; font-size:13px; font-weight:700; }
table.api td{ padding:11px 14px; border-bottom:1px solid var(--line); color:var(--ink-2); vertical-align:top; }
table.api td:first-child{ white-space:nowrap; }
table.api tr:last-child td{ border-bottom:none; }
table.api tbody tr:hover td{ background:#FBFDFC; }
table.api code{ font-family:ui-monospace,Menlo,Consolas,monospace; font-size:12.8px; color:var(--brand-d); }

/* ---------- 数据表 ---------- */
.data-table{ width:100%; border-collapse:collapse; font-size:13.6px; background:#fff; border:1px solid var(--line); border-radius:var(--r); overflow:hidden; }
.data-table th{ background:var(--brand-l); color:var(--brand-d); text-align:left; padding:10px 13px; font-size:12.8px; font-weight:800; border-bottom:1px solid var(--brand-l2); }
.data-table td{ padding:10px 13px; border-bottom:1px solid var(--line); color:var(--ink-2); }
.data-table tr:last-child td{ border-bottom:none; }
.data-table tbody tr:hover td{ background:#FBFDFC; }

/* ---------- 数据渲染进场动画（动态生成的内容） ---------- */
@keyframes fdin{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }
.fdin{ animation:fdin .5s cubic-bezier(.4,0,.2,1) both; }

/* ---------- 空状态 ---------- */
.empty{ padding:36px 20px; text-align:center; color:var(--muted); font-size:14.4px; grid-column:1/-1; }

@media (max-width:1024px){
  .case-grid,.tenant-grid{ grid-template-columns:repeat(2,1fr); }
  .pipe{ grid-template-columns:repeat(2,1fr); }
  .chan-grid{ grid-template-columns:repeat(3,1fr); }
  .kpis-sm{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:560px){
  .case-grid,.tenant-grid,.pipe,.kpis-sm{ grid-template-columns:1fr; }
  .chan-grid{ grid-template-columns:1fr; }
  .modal-head,.modal-body{ padding-left:20px; padding-right:20px; }
}

/* ---------- 响应式 ---------- */
@media (max-width:1024px){
  .hero-grid{ grid-template-columns:1fr; gap:40px; padding:56px 0 64px; }
  .g4,.g5,.kpis,.wb-metrics,.material-grid{ grid-template-columns:repeat(2,1fr); }
  .roadmap,.cbb,.tier{ grid-template-columns:1fr; }
  .rm{ border-right:none; border-bottom:1px solid var(--line); }
  .footer.site .fgrid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:860px){
  .nav-links{ display:none; position:absolute; top:68px; left:0; right:0; background:#fff; flex-direction:column; padding:14px 20px 20px; border-bottom:1px solid var(--line); box-shadow:var(--sh-2); }
  .nav-links.open{ display:flex; }
  .burger{ display:block; }
  .nav-cta .btn{ display:none; }
  .g2,.g3,.roles{ grid-template-columns:1fr; }
  .wb-shell{ grid-template-columns:1fr; }
  .wb-side{ display:flex; align-items:center; gap:10px; overflow-x:auto; }
  .wb-side .logo{ display:none; }
  .wb-nav{ flex-direction:row; }
  .wb-nav button{ white-space:nowrap; }
  .form-grid{ grid-template-columns:1fr; }
  .section{ padding:60px 0; }
  .cta-band{ padding:36px 26px; }
  .hero-stats{ gap:22px; }
}
@media (max-width:560px){
  .g4,.g5,.kpis,.wb-metrics,.material-grid{ grid-template-columns:1fr; }
  .footer.site .fgrid{ grid-template-columns:1fr; }
  .wrap{ padding:0 18px; }
}

/* ==========================================================================
   生态四市 / 行业圈子 / 顶层设计（第三阶段新增）
   ========================================================================== */

/* ---------- 四市卡片 ---------- */
.mkt-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.mkt-card{
  display:flex; gap:20px; padding:26px; background:#fff; border:1px solid var(--line);
  border-radius:var(--r-lg); box-shadow:var(--sh-1); transition:.26s cubic-bezier(.4,0,.2,1);
  position:relative; overflow:hidden;
}
.mkt-card::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:linear-gradient(180deg,var(--brand),var(--brand-2)); }
.mkt-card:hover{ transform:translateY(-5px); box-shadow:var(--sh-2); border-color:var(--brand-l2); }
.mk-zi{
  width:62px; height:62px; flex-shrink:0; border-radius:18px; display:grid; place-items:center;
  font-size:30px; font-weight:900; color:var(--brand); background:var(--brand-l);
  border:1.5px solid var(--brand-l2);
}
.mk-body{ flex:1; min-width:0; }
.mk-top{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
.mk-top h3{ font-size:20px; }
.mk-flow{ font-size:11.8px; font-weight:800; letter-spacing:.08em; color:var(--accent); background:var(--accent-l); padding:3px 10px; border-radius:999px; }
.mk-slogan{ font-size:15px; font-weight:700; color:var(--brand-d); margin:10px 0 6px; }
.mk-desc{ font-size:14.2px; color:var(--muted); margin:0 0 16px; }
.mk-foot{ display:flex; gap:10px; align-items:center; font-size:12.2px; font-weight:700; }
.mk-stage{ color:var(--blue); background:var(--blue-l); padding:3px 10px; border-radius:999px; }
.mk-status{ color:var(--muted); border:1px solid var(--line); padding:3px 10px; border-radius:999px; font-weight:600; }

/* ---------- 生态环流图 ---------- */
.ring-wrap{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:26px; box-shadow:var(--sh-1); overflow-x:auto; }
.ring-wrap svg{ display:block; margin:0 auto; max-width:100%; height:auto; }

/* ---------- 六件套分工 ---------- */
.stack-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.stack-item{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:20px; box-shadow:var(--sh-1); position:relative; }
.stack-item .st-zi{
  position:absolute; top:16px; right:18px; font-size:34px; font-weight:900; line-height:1;
  color:var(--brand-l2); letter-spacing:-.04em;
}
.stack-item h4{ font-size:16.4px; margin-bottom:8px; }
.stack-item p{ font-size:13.8px; color:var(--muted); margin:0; }

/* ---------- 统一底座小卡 ---------- */
.kv-mini{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:20px; box-shadow:var(--sh-1); }
.kv-mini b{ display:block; font-size:15.6px; margin-bottom:3px; }
.kv-mini .kv-v{ display:inline-block; font-size:12.2px; font-weight:700; color:var(--brand); background:var(--brand-l); padding:2px 10px; border-radius:999px; margin-bottom:10px; }
.kv-mini p{ font-size:13.6px; color:var(--muted); margin:0; }

/* ---------- 演进路线（四阶段） ---------- */
.roadmap.p4{ grid-template-columns:repeat(4,1fr); }
.rm.done::after{ content:"已完成"; position:absolute; top:0; left:0; right:0; height:3px; background:var(--ok); }
.rm.next::after{ content:""; position:absolute; top:0; left:0; right:0; height:3px; background:var(--accent); }
.rm .phase-goal{ font-size:14.4px; color:var(--brand-d); font-weight:700; margin:0 0 12px; }
.rm .phase-gate{ margin-top:14px; padding-top:12px; border-top:1px dashed var(--line); font-size:12.8px; color:var(--muted); }
.rm .phase-gate b{ display:block; color:var(--accent); font-size:12px; letter-spacing:.08em; margin-bottom:3px; }

/* ---------- 行业圈子 ---------- */
.circle-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.circle-card{
  display:flex; flex-direction:column; background:#fff; border:1px solid var(--line);
  border-radius:var(--r); padding:22px; box-shadow:var(--sh-1); transition:.24s; height:100%;
}
.circle-card:hover{ transform:translateY(-4px); box-shadow:var(--sh-2); border-color:var(--brand-l2); }
.circle-h{ display:flex; align-items:center; gap:13px; margin-bottom:14px; }
.circle-ico{
  width:48px; height:48px; flex-shrink:0; border-radius:14px; display:grid; place-items:center;
  font-size:23px; background:linear-gradient(150deg,var(--brand-l),#fff); border:1px solid var(--brand-l2);
}
.circle-h h3{ font-size:17.4px; }
.circle-owner{ font-size:12.2px; color:var(--muted); }
.circle-tag{ font-size:14px; font-weight:700; color:var(--brand-d); margin:0 0 8px; }
.circle-intro{ font-size:13.8px; color:var(--muted); margin:0 0 16px; flex:1; }
.circle-meta{ display:flex; gap:18px; padding:13px 0; border-top:1px dashed var(--line); }
.circle-meta span{ font-size:12px; color:var(--muted); }
.circle-meta b{ display:block; font-size:16px; font-weight:900; color:var(--ink); }
.circle-topics{ display:flex; gap:6px; flex-wrap:wrap; margin-top:12px; }
.circle-topics span{ font-size:11.8px; font-weight:600; padding:3px 10px; border-radius:999px; background:var(--bg); color:var(--ink-2); border:1px solid var(--line); }

/* ---------- 内容流帖 ---------- */
.post{
  background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:22px;
  box-shadow:var(--sh-1); transition:.2s;
}
.post:hover{ border-color:var(--brand-l2); box-shadow:var(--sh-2); }
.post.hot{ border-left:3px solid var(--accent); }
.post-h{ display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.post-av{
  width:38px; height:38px; flex-shrink:0; border-radius:11px; display:grid; place-items:center;
  font-size:16px; font-weight:900; color:#fff; background:linear-gradient(140deg,var(--brand),var(--brand-2));
}
.post-who{ flex:1; min-width:0; }
.post-who b{ display:block; font-size:14.4px; }
.post-who span{ font-size:12.2px; color:var(--muted); }
.post-type{ font-size:11.6px; font-weight:800; padding:3px 11px; border-radius:999px; background:var(--brand-l); color:var(--brand); flex-shrink:0; }
.post.hot .post-type{ background:var(--accent-l); color:var(--accent); }
.post h4{ font-size:16.4px; margin-bottom:8px; }
.post p{ font-size:14.2px; color:var(--ink-2); margin:0 0 14px; }
.post-f{ display:flex; gap:18px; padding-top:12px; border-top:1px dashed var(--line); font-size:12.6px; color:var(--muted); font-weight:600; }

/* ---------- 圈子详情头部 ---------- */
.circle-hero{ display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.ch-ico{ width:76px; height:76px; border-radius:22px; display:grid; place-items:center; font-size:36px; background:rgba(255,255,255,.94); flex-shrink:0; }
.circle-hero h1{ font-size:clamp(24px,3vw,34px); }
.circle-hero .ch-sub{ font-size:14px; opacity:.86; margin-top:5px; }

/* ---------- 规则清单 ---------- */
.rule-list{ display:grid; gap:9px; }
.rule{ display:flex; gap:11px; align-items:flex-start; background:#fff; border:1px solid var(--line); border-radius:var(--r-sm); padding:12px 15px; font-size:14px; color:var(--ink-2); }
.rule i{ font-style:normal; color:var(--accent); font-weight:900; flex-shrink:0; }

@media (max-width:1024px){
  .mkt-grid,.stack-grid,.circle-grid{ grid-template-columns:repeat(2,1fr); }
  .roadmap.p4{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
  .mkt-grid,.stack-grid,.circle-grid,.roadmap.p4{ grid-template-columns:1fr; }
  .mkt-card{ flex-direction:column; gap:14px; }
}

/* ---------- 商城商品卡 / 服务卡 / 项目卡 ---------- */
.pd-grid,.sv-grid,.pj-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }

.pd-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:22px;
  box-shadow:var(--sh-1); display:flex; flex-direction:column; transition:.24s;
}
.pd-card:hover{ transform:translateY(-4px); box-shadow:var(--sh-2); border-color:var(--brand-l2); }
.pd-top{ display:flex; gap:8px; align-items:center; margin-bottom:12px; }
.pd-cat{ font-size:11.8px; font-weight:800; color:var(--brand); background:var(--brand-l); padding:3px 10px; border-radius:999px; }
.pd-hot{ font-size:11.4px; font-weight:800; color:var(--accent); background:var(--accent-l); padding:3px 10px; border-radius:999px; }
.pd-card h3{ font-size:17px; margin-bottom:5px; }
.pd-spec{ font-size:13.2px; color:var(--muted); margin:0 0 12px; }
.pd-price{ display:flex; align-items:baseline; gap:6px; padding:12px 0; border-top:1px dashed var(--line); border-bottom:1px dashed var(--line); }
.pd-price b{ font-size:24px; font-weight:900; color:var(--brand); letter-spacing:-.02em; }
.pd-price span{ font-size:12.6px; color:var(--muted); }
.pd-moq{ font-size:12.6px; color:var(--muted); margin:10px 0 8px; }
.pd-policy{ font-size:13px; color:#8A4A16; background:var(--accent-l); border-radius:var(--r-sm); padding:9px 12px; font-weight:600; margin-bottom:12px; }
.pd-meta{ display:flex; justify-content:space-between; gap:10px; font-size:12.2px; color:var(--muted); margin-bottom:12px; }
.pd-tags{ display:flex; gap:6px; flex-wrap:wrap; margin-top:auto; }
.pd-tags span{ font-size:11.6px; font-weight:600; padding:3px 9px; border-radius:999px; background:var(--bg); border:1px solid var(--line); color:var(--ink-2); }

.sv-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:22px;
  box-shadow:var(--sh-1); display:flex; flex-direction:column; transition:.24s;
}
.sv-card:hover{ transform:translateY(-4px); box-shadow:var(--sh-2); border-color:var(--brand-l2); }
.sv-top{ display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
.sv-ico{ width:46px; height:46px; border-radius:13px; display:grid; place-items:center; font-size:22px; background:linear-gradient(150deg,var(--brand-l),#fff); border:1px solid var(--brand-l2); }
.sv-lv{ font-size:11.4px; font-weight:800; padding:3px 10px; border-radius:999px; }
.sv-lv.off{ background:var(--brand); color:#fff; }
.sv-lv.cer{ background:var(--blue-l); color:var(--blue); }
.sv-card h3{ font-size:17.4px; margin-bottom:6px; }
.sv-aud{ font-size:13.2px; color:var(--muted); margin:0 0 12px; }
.sv-price{ display:flex; align-items:baseline; gap:7px; padding:11px 0; border-top:1px dashed var(--line); border-bottom:1px dashed var(--line); }
.sv-price b{ font-size:22px; font-weight:900; color:var(--brand); letter-spacing:-.02em; }
.sv-price span{ font-size:12.4px; color:var(--muted); }
.sv-price em{ font-style:normal; margin-left:auto; font-size:12px; color:var(--ink-2); font-weight:700; }
.sv-deliver{ margin:14px 0; flex:1; }
.sv-deliver b{ display:block; font-size:12.6px; color:var(--brand); letter-spacing:.06em; margin-bottom:8px; }
.sv-deliver ul{ display:grid; gap:7px; }
.sv-deliver li{ font-size:13.2px; color:var(--ink-2); padding-left:17px; position:relative; }
.sv-deliver li::before{ content:"✓"; position:absolute; left:0; color:var(--brand-2); font-weight:900; font-size:12px; }
.sv-foot{ padding-top:12px; border-top:1px solid var(--line); font-size:12.4px; color:var(--muted); font-weight:600; margin-bottom:12px; }

.pj-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:22px;
  box-shadow:var(--sh-1); display:flex; flex-direction:column; transition:.24s; cursor:pointer;
}
.pj-card:hover{ transform:translateY(-4px); box-shadow:var(--sh-2); border-color:var(--brand-l2); }
.pj-top{ display:flex; gap:8px; align-items:center; margin-bottom:12px; }
.pj-type{ font-size:11.8px; font-weight:800; color:var(--blue); background:var(--blue-l); padding:3px 10px; border-radius:999px; }
.pj-leads{ font-size:11.6px; color:var(--muted); margin-left:auto; font-weight:600; }
.pj-card h3{ font-size:16.8px; margin-bottom:5px; line-height:1.45; }
.pj-brand{ font-size:12.6px; color:var(--muted); margin:0 0 14px; }
.pj-kv{ display:flex; gap:22px; padding:12px 0; border-top:1px dashed var(--line); border-bottom:1px dashed var(--line); }
.pj-kv span{ font-size:12px; color:var(--muted); }
.pj-kv b{ display:block; font-size:14.4px; color:var(--ink); font-weight:800; }
.pj-list{ margin:14px 0; flex:1; }
.pj-list b{ display:block; font-size:12.6px; color:var(--brand); letter-spacing:.06em; margin-bottom:8px; }
.pj-list ul{ display:grid; gap:7px; }
.pj-list li{ font-size:13.2px; color:var(--ink-2); padding-left:17px; position:relative; }
.pj-list li::before{ content:"·"; position:absolute; left:4px; color:var(--brand-2); font-weight:900; font-size:18px; line-height:1.15; }
.pj-foot{ display:flex; justify-content:space-between; align-items:center; padding-top:12px; border-top:1px solid var(--line); font-size:12.6px; color:var(--muted); }

@media (max-width:1024px){ .pd-grid,.sv-grid,.pj-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .pd-grid,.sv-grid,.pj-grid{ grid-template-columns:1fr; } }

/* ---------- 服务市场 · 下单演示台 ---------- */
.sv-actions{ display:flex; gap:8px; margin-top:14px; }
.sv-actions .btn{ flex:1; justify-content:center; }

.mode-badge{
  display:inline-flex; align-items:center; gap:8px; font-size:12.6px; font-weight:800;
  padding:5px 13px; border-radius:999px; background:var(--brand-l); color:var(--brand-d);
}
.mode-badge i{ width:7px; height:7px; border-radius:50%; background:var(--brand); flex:0 0 auto; }
.mode-badge.static{ background:#EEF2F4; color:var(--muted); }
.mode-badge.static i{ background:var(--muted); }

.desk-grid{ display:grid; grid-template-columns:0.86fr 1.14fr; gap:26px; align-items:start; }
.desk-panel{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:22px; box-shadow:var(--sh-1); }
.desk-hint{ font-size:12.8px; color:var(--muted); margin-top:14px; line-height:1.7; }

.order-list{ display:flex; flex-direction:column; gap:14px; max-height:640px; overflow-y:auto; padding-right:4px; }
.order-item{ border:1px solid var(--line); border-radius:var(--r); background:#fff; padding:16px 18px; animation:fdin .3s ease both; }
.order-item.is-done{ border-color:var(--brand-l2); background:linear-gradient(180deg,#FAFEFD,#fff); }
.oi-top{ display:flex; align-items:center; gap:10px; margin-bottom:10px; flex-wrap:wrap; }
.oi-id{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:12.4px; font-weight:700; color:var(--blue); }
.oi-status{ margin-left:auto; font-size:11.6px; font-weight:800; padding:3px 11px; border-radius:999px; white-space:nowrap; }
.oi-status.s-created{ background:#EFF3F5; color:var(--muted); }
.oi-status.s-accepted{ background:var(--blue-l); color:var(--blue); }
.oi-status.s-delivered{ background:var(--accent-l); color:var(--accent); }
.oi-status.s-done{ background:var(--brand-l); color:var(--brand-d); }
.oi-status.s-rejected{ background:#FBE9E8; color:var(--danger); }
.oi-status.s-cancelled{ background:#EFF3F5; color:var(--muted); }
.order-item h4{ font-size:15.6px; line-height:1.45; margin-bottom:10px; }
.order-item h4 em{ font-style:normal; font-size:13px; font-weight:600; color:var(--muted); }
.oi-kv{ display:flex; flex-wrap:wrap; gap:18px; margin-bottom:11px; }
.oi-kv span{ font-size:11.8px; color:var(--muted); font-weight:600; }
.oi-kv b{ display:block; font-size:13.8px; color:var(--ink); font-weight:800; letter-spacing:-.01em; }
.oi-req{ font-size:13.2px; color:var(--ink-2); background:var(--bg); border-radius:var(--r-sm); padding:9px 12px; margin-bottom:13px; }
.oi-timeline{ margin-bottom:14px; }
.tl-row{ display:flex; align-items:flex-start; gap:10px; font-size:12.6px; color:var(--ink-2); position:relative; padding-bottom:11px; }
.tl-row:last-child{ padding-bottom:0; }
.tl-row::before{ content:''; position:absolute; left:3.5px; top:13px; bottom:0; width:1px; background:var(--line); }
.tl-row:last-child::before{ display:none; }
.tl-dot{ width:8px; height:8px; border-radius:50%; background:var(--brand); margin-top:5px; flex:0 0 auto; position:relative; z-index:1; }
.tl-row:not(:last-child) .tl-dot{ background:var(--brand-l2); }
.tl-row span{ margin-left:auto; color:var(--muted); font-size:11.6px; white-space:nowrap; }
.oi-actions{ display:flex; flex-wrap:wrap; gap:8px; }
.oi-voucher{
  margin-top:12px; padding:13px 15px; border-radius:var(--r-sm);
  background:var(--brand-l); border:1px dashed var(--brand); font-size:13px; color:var(--brand-d); line-height:1.7;
}
.oi-voucher b{ display:block; font-size:13.4px; margin-bottom:3px; }
.oi-voucher code{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:12.4px; background:#fff; padding:1px 6px; border-radius:5px; }
.oi-voucher a{ font-weight:800; color:var(--brand-d); text-decoration:underline; }
.oi-settle{ margin-top:11px; font-size:12.4px; color:var(--muted); line-height:1.75; }
.oi-settle b{ color:var(--ink-2); font-weight:800; }
.oi-settle em{ font-style:normal; color:var(--brand); font-weight:800; }

@media (max-width:900px){
  .desk-grid{ grid-template-columns:1fr; }
  .order-list{ max-height:none; }
}

/* ---------- 阶段五：AI 岗位协同 · 经营看板 · 多端分发 · 媒体资产 ---------- */

/* ===== AI 岗位卡 ===== */
.ag-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(min(330px,100%),1fr)); gap:20px; }
.ag-card{
  background:var(--card); border:1px solid var(--line); border-radius:var(--r);
  padding:20px; box-shadow:var(--sh-1); position:relative; overflow:hidden;
  border-top:3px solid var(--ag, var(--brand));
}
.ag-card::after{
  content:""; position:absolute; right:-40px; top:-40px; width:120px; height:120px; border-radius:50%;
  background:var(--ag, var(--brand)); opacity:.06; pointer-events:none;
}
.ag-h{ display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.ag-av{
  width:44px; height:44px; border-radius:12px; flex:none; display:grid; place-items:center;
  background:var(--ag, var(--brand)); color:#fff; font-size:19px; font-weight:800; letter-spacing:0;
}
.ag-who{ flex:1; min-width:0; }
.ag-who h3{ margin:0; font-size:17px; color:var(--ink); display:flex; align-items:baseline; gap:8px; }
.ag-who h3 small{ font-size:12.4px; font-weight:700; color:var(--ag, var(--brand)); }
.ag-dept{ font-size:12.4px; color:var(--muted); }
.ag-status{
  font-size:11.6px; font-weight:700; padding:3px 9px; border-radius:99px;
  background:var(--brand-l); color:var(--brand-d); border:1px solid var(--brand-l2); white-space:nowrap;
}
.ag-duty{ font-size:13.6px; line-height:1.72; color:var(--ink-2); margin:0 0 12px; }
.ag-scope{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
.ag-scope span{
  font-size:11.8px; padding:3px 9px; border-radius:99px;
  background:var(--bg); border:1px solid var(--line); color:var(--ink-2);
}
.ag-io{ display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:12px 0; border-top:1px dashed var(--line); }
.ag-io-col b{ display:block; font-size:11.6px; color:var(--muted); font-weight:700; margin-bottom:6px; letter-spacing:.04em; }
.ag-io-col span{ display:block; font-size:12.4px; color:var(--ink-2); line-height:1.6; padding-left:10px; position:relative; }
.ag-io-col span::before{ content:"·"; position:absolute; left:2px; color:var(--ag, var(--brand)); font-weight:800; }
.ag-caps{ padding-top:12px; border-top:1px dashed var(--line); }
.ag-caps b{ display:block; font-size:11.6px; color:var(--muted); font-weight:700; margin-bottom:6px; letter-spacing:.04em; }
.ag-caps span{
  display:inline-block; font-size:11.8px; padding:2px 8px; margin:0 5px 5px 0;
  border-radius:6px; background:var(--brand-l); color:var(--brand-d); font-weight:600;
}
.ag-kpi{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:14px; }
.ag-kpi div{
  background:var(--bg); border:1px solid var(--line); border-radius:var(--r-sm);
  padding:9px 8px; text-align:center;
}
.ag-kpi b{ display:block; font-size:14.6px; color:var(--brand-d); line-height:1.3; }
.ag-kpi span{ font-size:11.4px; color:var(--muted); }
.ag-foot{
  display:flex; justify-content:space-between; align-items:center; gap:8px;
  margin-top:14px; padding-top:12px; border-top:1px solid var(--line);
  font-size:12.2px; color:var(--muted);
}
.ag-door{ color:var(--accent); font-weight:700; }
.ag-note{
  margin:12px 0 0; padding:10px 12px; border-radius:var(--r-sm); font-size:12.8px;
  line-height:1.7; background:var(--accent-l); color:#8A4A16; border-left:3px solid var(--accent);
}
.ag-principle{ display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:16px; }

/* ===== 协同链路 ===== */
.chain{ list-style:none; margin:0; padding:0; position:relative; }
.chain-step{ display:flex; gap:16px; position:relative; padding-bottom:22px; }
.chain-step:not(:last-child)::before{
  content:""; position:absolute; left:17px; top:38px; bottom:0; width:2px;
  background:linear-gradient(180deg, var(--brand-l2), var(--line));
}
.cs-seq{
  width:36px; height:36px; flex:none; border-radius:50%; display:grid; place-items:center;
  font-size:14px; font-weight:800; background:var(--brand); color:#fff; z-index:1;
  box-shadow:0 0 0 4px var(--brand-l);
}
.chain-step.gate .cs-seq{ background:var(--accent); box-shadow:0 0 0 4px var(--accent-l); }
.cs-body{ flex:1; min-width:0; background:var(--card); border:1px solid var(--line); border-radius:var(--r); padding:14px 16px; }
.chain-step.gate .cs-body{ border-color:#F0D6BC; background:#FFFCF9; }
.cs-h{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:8px; }
.chip-ag{
  font-size:12px; font-weight:700; padding:3px 9px; border-radius:99px;
  background:var(--ag, var(--brand)); color:#fff;
}
.chip-sys{
  font-size:12px; font-weight:700; padding:3px 9px; border-radius:99px;
  background:var(--blue); color:#fff;
}
.cs-dept{ font-size:11.8px; color:var(--muted); }
.cs-gate{
  font-size:11.4px; font-weight:800; padding:2px 8px; border-radius:99px;
  background:var(--accent); color:#fff;
}
.cs-sla{ margin-left:auto; font-size:11.8px; font-style:normal; color:var(--brand-d); font-weight:700; }
.cs-body h4{ margin:0 0 8px; font-size:14.6px; color:var(--ink); }
.cs-io{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:12.6px; }
.cs-in{ color:var(--muted); }
.cs-io i{ color:var(--brand); font-style:normal; font-weight:800; }
.cs-out{ color:var(--ink-2); font-weight:700; }
.cs-tool{
  display:inline-block; margin-top:9px; font-size:11.6px; padding:3px 8px; border-radius:6px;
  background:var(--bg); border:1px solid var(--line); color:var(--brand-d);
}
.cs-role{ display:inline-block; margin-top:9px; margin-left:8px; font-size:11.8px; color:var(--accent); font-weight:700; }

/* ===== 留痕时间线 ===== */
.trace-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--r); padding:20px; box-shadow:var(--sh-1); }
.trace-h{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; padding-bottom:14px; border-bottom:1px solid var(--line); margin-bottom:16px; }
.trace-h h3{ margin:0 0 4px; font-size:16.4px; color:var(--ink); }
.trace-id{ font-size:12px; color:var(--muted); }
.trace-meta{ text-align:right; font-size:12.4px; color:var(--muted); }
.trace-meta b{ display:block; font-size:14px; color:var(--brand-d); }
.trace-steps{ list-style:none; margin:0; padding:0; position:relative; }
.trace-steps li{ display:grid; grid-template-columns:14px 1fr; gap:12px; padding:0 0 16px; position:relative; }
.trace-steps li:not(:last-child)::before{
  content:""; position:absolute; left:6px; top:14px; bottom:0; width:1px; background:var(--line);
}
.ts-dot{ width:11px; height:11px; border-radius:50%; background:var(--brand); margin-top:4px; box-shadow:0 0 0 3px var(--brand-l); }
.ts-h{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:5px; }
.ts-at{ font-size:11.8px; color:var(--muted); font-variant-numeric:tabular-nums; }
.ts-post{ font-size:11.8px; color:var(--muted); }
.ts-body{ font-size:12.8px; color:var(--ink-2); line-height:1.68; }
.ts-body b{ color:var(--ink); display:block; font-size:13.2px; }
.ts-body code{
  display:inline-block; margin-top:5px; font-size:11.6px; padding:2px 7px; border-radius:5px;
  background:var(--brand-l); color:var(--brand-d);
}
.ts-body p{ margin:5px 0 0; color:var(--muted); }

/* ===== 规则卡 ===== */
.rule-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:16px; }
.rule-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--r); padding:16px 18px; border-left:3px solid var(--brand); }
.rule-h{ display:flex; align-items:center; gap:9px; margin-bottom:8px; }
.rule-id{
  font-size:11.4px; font-weight:800; padding:2px 8px; border-radius:6px;
  background:var(--brand); color:#fff;
}
.rule-h h4{ margin:0; font-size:14.6px; color:var(--ink); }
.rule-card p{ margin:0 0 10px; font-size:12.8px; line-height:1.72; color:var(--ink-2); }
.rule-enf{ font-size:11.8px; color:var(--accent); font-weight:700; }

/* ===== 经营看板 ===== */
.lvbar{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px;
  padding:14px 18px; background:var(--card); border:1px solid var(--line);
  border-radius:var(--r); box-shadow:var(--sh-1); margin-bottom:22px;
}
.lvbar .lvlabel{ font-size:12.6px; font-weight:800; color:var(--ink); margin-right:4px; }
.lvbtn{
  font:inherit; font-size:12.6px; font-weight:700; cursor:pointer;
  padding:7px 14px; border-radius:99px; border:1px solid var(--line);
  background:var(--bg); color:var(--ink-2); transition:all .18s;
}
.lvbtn:hover{ border-color:var(--brand-l2); color:var(--brand-d); }
.lvbtn.on{ background:var(--brand); border-color:var(--brand); color:#fff; }
.lvbtn.plan{ opacity:.55; cursor:not-allowed; }
.lv-hint{ font-size:12.2px; color:var(--muted); margin-left:auto; }
.lv-hint b{ color:var(--accent); }

.bd{ margin-bottom:34px; }
.bd-h{ display:flex; flex-wrap:wrap; align-items:flex-start; gap:14px; margin-bottom:16px; }
.bd-ico{
  width:42px; height:42px; flex:none; border-radius:12px; display:grid; place-items:center;
  background:var(--brand-l); color:var(--brand-d); font-size:17px; font-weight:800; border:1px solid var(--brand-l2);
}
.bd-ttl{ flex:1; min-width:200px; }
.bd-ttl h3{ margin:0 0 4px; font-size:19px; color:var(--ink); }
.bd-ttl p{ margin:0; font-size:13.2px; color:var(--muted); line-height:1.65; }
.bd-owner{ text-align:right; font-size:12px; color:var(--muted); }
.bd-owner span{ display:block; }
.bd-agent{ color:var(--brand-d); font-weight:700; }

.mt-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:16px; }
.mt-card{
  background:var(--card); border:1px solid var(--line); border-radius:var(--r);
  padding:16px 17px; box-shadow:var(--sh-1); display:flex; flex-direction:column;
}
.mt-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:8px; margin-bottom:10px; }
.mt-name{ font-size:13.2px; font-weight:700; color:var(--ink-2); line-height:1.45; }
.mt-lv{
  font-size:10.8px; font-weight:800; width:20px; height:20px; flex:none;
  border-radius:6px; display:grid; place-items:center;
}
.mt-lv.lv-public{ background:var(--brand-l); color:var(--brand-d); }
.mt-lv.lv-masked{ background:var(--accent-l); color:#8A4A16; }
.mt-lv.lv-internal{ background:#EEF1F3; color:#455A63; }
.mt-value{ display:flex; align-items:baseline; gap:6px; margin-bottom:10px; }
.mt-value b{ font-size:27px; font-weight:800; color:var(--brand-d); letter-spacing:-.5px; line-height:1.1; font-variant-numeric:tabular-nums; }
.mt-value em{ font-size:12.4px; font-style:normal; color:var(--muted); font-weight:600; }
.mt-value.is-masked b{ font-size:20px; color:#9AA9B0; }
.mt-foot{ display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:32px; }
.mt-delta{ font-size:12.8px; font-weight:800; display:flex; align-items:baseline; gap:5px; }
.mt-delta i{ font-style:normal; font-size:11px; font-weight:600; color:var(--muted); }
.mt-delta.good{ color:var(--danger); }
.mt-delta.bad{ color:var(--ok); }
.mt-delta.flat{ color:var(--muted); }
.mt-lock{ font-size:11.4px; color:#9AA9B0; padding:3px 8px; border-radius:6px; background:var(--bg); border:1px dashed var(--line); }
.spark{ width:100px; height:30px; flex:none; }
.mt-meta{ margin-top:10px; padding-top:10px; border-top:1px dashed var(--line); }
.mt-src{ font-size:11.4px; color:var(--muted); }
.mt-note{ margin:4px 0 0; font-size:11.8px; color:#7C8C93; line-height:1.6; }

/* ===== 渠道卡 ===== */
.ch-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr)); gap:18px; }
.ch-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--r); padding:18px; box-shadow:var(--sh-1); }
.ch-h{ display:flex; align-items:center; gap:11px; margin-bottom:12px; }
.ch-ico{
  width:40px; height:40px; flex:none; border-radius:11px; display:grid; place-items:center;
  background:var(--blue); color:#fff; font-size:16px; font-weight:800;
}
.ch-ttl{ flex:1; min-width:0; }
.ch-ttl h3{ margin:0; font-size:16.4px; color:var(--ink); }
.ch-role{ font-size:11.8px; color:var(--accent); font-weight:700; }
.ch-status{ font-size:11.4px; font-weight:700; padding:3px 9px; border-radius:99px; white-space:nowrap; }
.ch-status.on{ background:var(--brand-l); color:var(--brand-d); }
.ch-status.plan{ background:var(--accent-l); color:#8A4A16; }
.ch-kv{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:12px; }
.ch-kv span{ font-size:11.4px; color:var(--muted); }
.ch-kv b{ display:block; font-size:12.2px; color:var(--ink-2); margin-bottom:2px; }
.ch-aud, .ch-form{ font-size:12.6px; line-height:1.7; color:var(--ink-2); margin:0 0 8px; }
.ch-aud b, .ch-form b{ color:var(--muted); font-weight:700; margin-right:6px; font-size:11.6px; }
.ch-fields{ display:flex; flex-wrap:wrap; gap:5px; margin:10px 0; }
.ch-fields span{
  font-size:11.4px; padding:2px 8px; border-radius:6px;
  background:var(--brand-l); color:var(--brand-d); font-weight:600;
}
.ch-foot{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; padding-top:10px; border-top:1px dashed var(--line); font-size:11.6px; color:var(--muted); }
.ch-kpi{ color:var(--brand-d); font-weight:600; }
.ch-note{ margin:10px 0 0; font-size:12px; line-height:1.68; color:#7C8C93; }

/* ===== 字段适配矩阵 ===== */
.mx-wrap{ overflow-x:auto; border:1px solid var(--line); border-radius:var(--r); background:var(--card); }
table.mx{ width:100%; border-collapse:collapse; font-size:12.4px; min-width:900px; }
table.mx th{
  background:var(--brand-l); color:var(--brand-d); font-size:12px; font-weight:800;
  padding:11px 10px; text-align:center; border-bottom:1px solid var(--brand-l2); white-space:nowrap;
}
table.mx td{ padding:10px; text-align:center; border-bottom:1px solid var(--line); color:var(--ink-2); }
table.mx tbody tr:last-child td{ border-bottom:none; }
table.mx tbody tr:hover td{ background:#FBFDFC; }
table.mx th.mx-field, table.mx td.mx-field{ text-align:left; min-width:150px; background:#FCFEFD; }
table.mx td.mx-field b{ display:block; font-size:13px; color:var(--ink); }
table.mx td.mx-field span{ font-size:11.2px; color:var(--muted); line-height:1.5; }
.mx-ci{
  display:inline-grid; place-items:center; width:19px; height:19px; border-radius:5px;
  background:#fff; color:var(--brand-d); font-size:11px; margin-right:5px; border:1px solid var(--brand-l2);
}
table.mx td.mx-dash{ color:#C3CFD4; }
.rc-ch{
  display:inline-grid; place-items:center; width:18px; height:18px; border-radius:5px;
  background:var(--brand-l); color:var(--brand-d); font-size:10.8px; margin-right:6px; vertical-align:middle;
}

/* ===== 媒体资产卡 ===== */
.md-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(268px,1fr)); gap:18px; }
.md-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; box-shadow:var(--sh-1); display:flex; flex-direction:column; }
.md-cover{ position:relative; aspect-ratio:16/9; background:var(--bg); overflow:hidden; }
.asset-cv{ position:absolute; inset:0; width:100%; height:100%; display:block; }
.asset-cv.is-vert{ object-fit:cover; }
.md-type{
  position:absolute; left:10px; top:10px; font-size:10.6px; font-weight:800; letter-spacing:.05em;
  padding:3px 8px; border-radius:5px; background:rgba(255,255,255,.9); color:var(--ink);
}
.md-dur{
  position:absolute; right:10px; bottom:10px; font-size:11px; font-weight:700;
  padding:3px 8px; border-radius:5px; background:rgba(0,0,0,.55); color:#fff;
  font-variant-numeric:tabular-nums;
}
.md-body{ padding:14px 15px 16px; display:flex; flex-direction:column; flex:1; }
.md-body h3{ margin:0 0 8px; font-size:14.6px; color:var(--ink); line-height:1.45; }
.md-meta{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:9px; }
.md-meta span{ font-size:11.2px; color:var(--muted); padding:2px 7px; background:var(--bg); border-radius:5px; }
.md-flags{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:9px; }
.md-lic, .md-lv{ font-size:11.2px; font-weight:700; padding:3px 9px; border-radius:99px; }
.md-lic.ok{ background:var(--brand-l); color:var(--brand-d); }
.md-lic.no{ background:#FDECEA; color:var(--danger); }
.md-lv.lv-public{ background:var(--brand-l); color:var(--brand-d); }
.md-lv.lv-masked{ background:var(--accent-l); color:#8A4A16; }
.md-lv.lv-internal{ background:#EEF1F3; color:#455A63; }
.md-des{ margin:0 0 9px; font-size:11.6px; color:var(--ink-2); line-height:1.65; }
.md-des b{ color:var(--muted); margin-right:6px; font-weight:700; }
.md-des span{
  display:inline-block; font-size:11px; padding:1px 7px; margin:0 4px 4px 0;
  border-radius:5px; background:#FFF4EA; color:#8A4A16;
}
.md-des.none{ color:var(--muted); }
.md-use{ display:flex; flex-wrap:wrap; gap:5px; margin-top:auto; padding-top:9px; }
.md-use span{ font-size:11.2px; padding:2px 8px; border-radius:5px; background:var(--bg); border:1px solid var(--line); color:var(--ink-2); }
.md-unused{ color:var(--muted); }
.md-review{
  display:flex; flex-wrap:wrap; gap:10px; margin-top:10px; padding-top:10px;
  border-top:1px dashed var(--line); font-size:11.4px; color:var(--muted);
}
.md-review .yes{ color:var(--ok); font-weight:700; }
.md-review .no{ color:var(--danger); font-weight:700; }

/* ===== 统计条 ===== */
.stat-row{ display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:16px; }
.stat-cell{
  background:var(--card); border:1px solid var(--line); border-radius:var(--r);
  padding:16px 18px; box-shadow:var(--sh-1);
}
.stat-cell b{ display:block; font-size:25px; font-weight:800; color:var(--brand-d); letter-spacing:-.5px; line-height:1.15; }
.stat-cell span{ display:block; font-size:12.6px; color:var(--muted); margin-top:3px; }
.stat-cell p{ margin:8px 0 0; font-size:11.8px; color:#7C8C93; line-height:1.6; }

/* ===== 通用小签 ===== */
.kv-inline{ display:flex; flex-wrap:wrap; gap:8px; }
.kv-inline span{
  font-size:12.2px; padding:5px 11px; border-radius:99px;
  background:var(--bg); border:1px solid var(--line); color:var(--ink-2);
}
.kv-inline b{ color:var(--brand-d); }

.mode-pill{
  display:inline-flex; align-items:center; gap:7px; font-size:12.4px; font-weight:700;
  padding:6px 13px; border-radius:99px; background:var(--brand-l); color:var(--brand-d);
  border:1px solid var(--brand-l2);
}
.mode-pill i{ width:7px; height:7px; border-radius:50%; background:var(--ok); font-style:normal; }
.mode-pill.is-static i{ background:var(--accent); }

@media (max-width:760px){
  .ag-io{ grid-template-columns:1fr; }
  .ag-kpi{ grid-template-columns:1fr 1fr; }
  .bd-owner{ text-align:left; }
  .lv-hint{ margin-left:0; }
  .trace-meta{ text-align:left; }
}

/* ==========================================================================
   产业版图（map.html）
   ========================================================================== */

/* ---------- 30 秒快速认知 ---------- */
.qk-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.qk-card{
  position:relative; background:var(--card); border:1px solid var(--line);
  border-radius:var(--r); padding:24px 22px 20px; box-shadow:var(--sh-1);
  display:flex; flex-direction:column; overflow:hidden;
  transition:.24s cubic-bezier(.4,0,.2,1);
}
.qk-card::before{
  content:""; position:absolute; left:0; top:0; width:100%; height:3px;
  background:linear-gradient(90deg,var(--brand),var(--brand-2));
}
.qk-card:hover{ transform:translateY(-4px); box-shadow:var(--sh-2); border-color:var(--brand-l2); }
.qk-n{
  font-size:12px; font-weight:800; letter-spacing:.1em; color:var(--brand);
  background:var(--brand-l); border-radius:99px; padding:3px 10px; align-self:flex-start;
}
.qk-k{ display:block; font-size:12.6px; font-weight:700; color:var(--muted); margin:13px 0 6px; letter-spacing:.04em; }
.qk-card h3{ font-size:16.6px; line-height:1.5; margin-bottom:9px; color:var(--ink); }
.qk-card p{ font-size:13.4px; color:var(--ink-2); line-height:1.72; margin:0; }
.qk-go{
  margin-top:15px; font-size:13.2px; font-weight:700; color:var(--brand);
  display:inline-flex; align-items:center; gap:5px;
}
.qk-go:hover{ color:var(--brand-d); }

/* ---------- 愿景 / 见证 两层 ---------- */
.vp{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.vp-col{
  background:var(--card); border:1px solid var(--line); border-radius:var(--r);
  padding:28px 26px; box-shadow:var(--sh-1); position:relative;
}
.vp-wish{ border-top:3px solid var(--accent); background:linear-gradient(180deg,#FFFBF7,#fff 46%); }
.vp-proof{ border-top:3px solid var(--brand); background:linear-gradient(180deg,#F6FCFA,#fff 46%); }
.vp-h{ display:flex; align-items:center; gap:11px; margin-bottom:10px; flex-wrap:wrap; }
.vp-h h3{ font-size:17.4px; }
.vp-tag{
  font-size:11.6px; font-weight:800; letter-spacing:.1em; padding:4px 11px; border-radius:99px;
}
.vp-wish .vp-tag{ background:var(--accent-l); color:#8A4A16; }
.vp-proof .vp-tag{ background:var(--brand-l); color:var(--brand-d); }
.vp-note{ font-size:12.8px; color:var(--muted); line-height:1.7; margin:0 0 16px; }
.vp-list{ display:flex; flex-direction:column; gap:13px; }
.vp-list li{ padding-left:15px; position:relative; }
.vp-list li::before{
  content:""; position:absolute; left:0; top:9px; width:6px; height:6px; border-radius:50%;
  background:var(--brand-l2); border:1.5px solid var(--brand);
}
.vp-wish .vp-list li::before{ background:var(--accent-l); border-color:var(--accent); }
.vp-list b{ display:block; font-size:14.2px; color:var(--ink); margin-bottom:3px; }
.vp-list span{ display:block; font-size:13px; color:var(--ink-2); line-height:1.72; }
.vp-go{ display:inline-block; margin-top:6px; font-size:12.4px; font-weight:700; color:var(--brand); }
.vp-go:hover{ color:var(--brand-d); }
.vp-bottom{
  grid-column:1/-1; margin:0; padding:18px 22px; border-radius:var(--r);
  background:var(--brand-l); border:1px dashed var(--brand-l2);
  font-size:13.4px; color:var(--brand-d); line-height:1.78;
}

/* ---------- 业务板块卡 ---------- */
.bz-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.bz-card{
  background:var(--card); border:1px solid var(--line); border-radius:var(--r);
  padding:22px 22px 18px; box-shadow:var(--sh-1); display:flex; flex-direction:column;
  position:relative; overflow:hidden; transition:.24s cubic-bezier(.4,0,.2,1);
}
.bz-card::before{
  content:""; position:absolute; inset:0 auto 0 0; width:4px; background:var(--bz,var(--brand));
}
.bz-card:hover{ transform:translateY(-4px); box-shadow:var(--sh-2); }
.bz-top{ display:flex; align-items:flex-start; gap:11px; margin-bottom:12px; }
.bz-zi{
  flex:0 0 auto; width:38px; height:38px; border-radius:11px; display:grid; place-items:center;
  font-size:16.5px; font-weight:800; color:#fff; background:var(--bz,var(--brand));
  box-shadow:0 6px 16px rgba(13,32,41,.14);
}
.bz-ttl{ flex:1; min-width:0; }
.bz-ttl h3{ font-size:17px; line-height:1.36; }
.bz-full{ display:block; font-size:11.8px; color:var(--muted); margin-top:2px; }
.bz-status{
  flex:0 0 auto; font-size:11.2px; font-weight:700; padding:3px 9px; border-radius:99px; white-space:nowrap;
}
.bz-status.on{ background:var(--brand-l); color:var(--brand-d); }
.bz-status.build{ background:var(--accent-l); color:#8A4A16; }
.bz-status.plan{ background:#EEF1F3; color:#455A63; }
.bz-chips{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
.bz-model{
  font-size:11.4px; font-weight:800; letter-spacing:.04em; padding:3px 9px; border-radius:6px;
  background:#F1F7F5; border:1px solid var(--line); color:var(--bz,var(--brand));
}
.bz-ring{ font-size:11.4px; padding:3px 9px; border-radius:6px; background:var(--bg); border:1px solid var(--line); color:var(--muted); }
.bz-one{ font-size:13.6px; color:var(--ink-2); line-height:1.75; margin:0 0 14px; }
.bz-rows{ display:flex; flex-direction:column; gap:8px; margin-bottom:14px; }
.bz-row{ font-size:12.4px; line-height:1.7; color:var(--ink-2); }
.bz-row b{ display:inline-block; min-width:44px; color:var(--muted); font-weight:700; margin-right:7px; }
.bz-cnt{
  display:flex; gap:16px; padding:11px 0; margin-top:auto;
  border-top:1px dashed var(--line); border-bottom:1px dashed var(--line);
}
.bz-cnt span{ font-size:11.8px; color:var(--muted); }
.bz-cnt b{ font-size:16px; font-weight:800; color:var(--bz,var(--brand)); margin-right:3px; }
.bz-foot{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:13px; }
.bz-stage{ font-size:11.8px; color:var(--muted); }
.bz-more{
  border:0; background:none; padding:0; font-size:13px; font-weight:800; color:var(--bz,var(--brand));
  cursor:pointer; font-family:inherit;
}
.bz-more:hover{ text-decoration:underline; }

/* 板块卡：筛选条 */
.bz-filter{ display:flex; flex-wrap:wrap; gap:9px; margin-bottom:24px; }
.bz-filter button{
  font-family:inherit; font-size:13.4px; font-weight:700; padding:8px 16px; border-radius:99px;
  border:1px solid var(--line); background:#fff; color:var(--ink-2); cursor:pointer; transition:.2s;
}
.bz-filter button:hover{ border-color:var(--brand-l2); color:var(--brand); }
.bz-filter button.on{ background:var(--brand); border-color:var(--brand); color:#fff; }
.bz-filter button em{ font-style:normal; opacity:.62; margin-left:5px; font-weight:600; }
.bz-empty{ grid-column:1/-1; }

/* ---------- 板块详情弹窗内容 ---------- */
.bd-note{ font-size:13px; color:var(--muted); line-height:1.72; }
.bd-note b{ color:var(--brand-d); }
.dt-ai{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.dt-ai-item{ background:var(--bg); border:1px solid var(--line); border-radius:var(--r-sm); padding:15px 16px; }
.dt-ai-h{ display:flex; flex-direction:column; gap:7px; margin-bottom:8px; align-items:flex-start; }
.dt-ai-h b{ font-size:13.8px; color:var(--ink); }
.dt-ai-item p{ margin:0; font-size:12.8px; color:var(--ink-2); line-height:1.7; }
.dt-ops{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.dt-ops-item{ background:#fff; border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:var(--r-sm); padding:15px 16px; }
.dt-ops-item h5{ margin:0 0 7px; font-size:13.8px; color:var(--ink); font-weight:800; }
.dt-ops-item p{ margin:0 0 9px; font-size:12.8px; color:var(--ink-2); line-height:1.7; }
.dt-deliver{ display:block; font-size:11.8px; color:#8A4A16; background:var(--accent-l); padding:6px 10px; border-radius:6px; line-height:1.6; }
.dt-cbb{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.dt-cbb-col{ background:var(--bg); border:1px solid var(--line); border-radius:var(--r-sm); padding:15px 16px; }
.dt-cbb-h{ display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.dt-cbb-h .zi{
  width:30px; height:30px; border-radius:9px; display:grid; place-items:center;
  font-size:15px; font-weight:800; color:#fff; background:var(--brand);
}
.dt-cbb-h em{ font-style:normal; font-size:11.4px; font-weight:700; letter-spacing:.08em; color:var(--muted); text-transform:uppercase; }
.dt-cbb-col p{ margin:0; font-size:12.8px; color:var(--ink-2); line-height:1.72; }
.kpis-sm .ks b{ display:block; font-size:13.6px; color:var(--ink); margin-bottom:4px; }
.kpis-sm .ks span{ font-size:12.2px; color:var(--muted); line-height:1.66; }

/* 弹窗头部着色（跟随板块色） */
.modal-head.is-biz{ background:linear-gradient(150deg,#062B3A,var(--bz,#0B7A63)); }

/* ---------- 协同环 ---------- */
.ring-wrap{ background:var(--card); border:1px solid var(--line); border-radius:var(--r-lg); padding:18px 14px; box-shadow:var(--sh-1); }
.ring-svg{ width:100%; height:auto; max-width:680px; display:block; margin:0 auto; }
.ring-arc{ transition:stroke-opacity .2s; }
.ring-node:hover .ring-arc{ stroke-opacity:1; }

/* ---------- 协同链路表 ---------- */
.mx.syn th:nth-child(1), .mx.syn td:nth-child(1){ width:46px; text-align:center; }
.mx.syn th:nth-child(2), .mx.syn td:nth-child(2){ width:186px; }
.mx.syn td{ vertical-align:top; }
.syn-seq{ font-weight:800; color:var(--brand); font-size:13.6px; }
.syn-flow{ white-space:nowrap; }
.syn-flow b{ font-size:12.6px; }
.syn-flow i{ font-style:normal; color:var(--muted); margin:0 6px; }
.syn-ai{ color:#3A5F6E; }
.syn-ops{ color:#8A4A16; }

/* ---------- 传帮带矩阵 ---------- */
.cbb-mx{ background:var(--card); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; box-shadow:var(--sh-1); }
.cbb-mx-head{ display:grid; grid-template-columns:240px repeat(3,1fr); background:var(--brand-d); }
.cbb-mx-corner,.cbb-mx-col{ padding:15px 18px; font-size:13.4px; font-weight:800; color:#fff; letter-spacing:.02em; }
.cbb-mx-corner{ color:#9FD6C6; font-size:12.4px; }
.cbb-mx-col{ border-left:1px solid rgba(255,255,255,.14); }
.cbb-mx-row{ display:grid; grid-template-columns:240px repeat(3,1fr); border-top:1px solid var(--line); }
.cbb-mx-row:nth-child(odd){ background:var(--bg); }
.cbb-mx-act{ padding:20px 18px; border-right:1px solid var(--line); }
.cbb-mx-act .zi{
  display:inline-grid; place-items:center; width:38px; height:38px; border-radius:11px;
  font-size:17px; font-weight:800; color:#fff; background:var(--brand); margin-bottom:9px;
}
.cbb-mx-act em{ display:block; font-style:normal; font-size:11px; font-weight:800; letter-spacing:.1em; color:var(--muted); text-transform:uppercase; margin-bottom:6px; }
.cbb-mx-act b{ display:block; font-size:12.8px; color:var(--ink-2); font-weight:700; line-height:1.6; }
.cbb-mx-cell{ padding:20px 18px; border-left:1px solid var(--line); font-size:13.2px; color:var(--ink-2); line-height:1.78; }

/* ---------- AI 四层 ---------- */
.al{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.al-card{
  background:var(--card); border:1px solid var(--line); border-radius:var(--r);
  padding:22px 20px; box-shadow:var(--sh-1); display:flex; flex-direction:column;
  border-top:3px solid var(--brand);
}
.al-card:nth-child(2){ border-top-color:#2C8FB8; }
.al-card:nth-child(3){ border-top-color:var(--accent); }
.al-card:nth-child(4){ border-top-color:var(--blue); }
.al-h h3{ font-size:15.6px; line-height:1.44; margin-bottom:9px; }
.al-who{ display:block; font-size:12px; color:var(--muted); padding-bottom:13px; margin-bottom:13px; border-bottom:1px dashed var(--line); }
.al-items{ display:flex; flex-direction:column; gap:8px; margin-bottom:16px; }
.al-items span{
  font-size:12.6px; color:var(--ink-2); padding-left:15px; position:relative; line-height:1.6;
}
.al-items span::before{
  content:""; position:absolute; left:0; top:8px; width:5px; height:5px; border-radius:50%; background:var(--brand-2);
}
.al-gate{
  margin-top:auto; font-size:12.2px; line-height:1.68; color:#8A4A16;
  background:var(--accent-l); border-radius:var(--r-sm); padding:10px 12px;
}
.al-gate b{ display:block; font-size:11.2px; letter-spacing:.08em; color:#A85A1E; margin-bottom:3px; }

/* ---------- 证据索引 ---------- */
.ev-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.ev-card{
  display:flex; align-items:flex-start; gap:14px; background:var(--card);
  border:1px solid var(--line); border-radius:var(--r); padding:20px; box-shadow:var(--sh-1);
  transition:.22s cubic-bezier(.4,0,.2,1);
}
.ev-card:hover{ transform:translateY(-3px); box-shadow:var(--sh-2); border-color:var(--brand-l2); }
.ev-ico{
  flex:0 0 auto; width:42px; height:42px; border-radius:12px; display:grid; place-items:center;
  font-size:17px; background:var(--brand-l); color:var(--brand-d);
}
.ev-card h3{ font-size:15.2px; margin-bottom:5px; }
.ev-card p{ margin:0; font-size:12.6px; color:var(--muted); line-height:1.7; }
.ev-arrow{ margin-left:auto; color:var(--brand); font-weight:800; align-self:center; }
.ev-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.ev-item{
  display:flex; flex-direction:column; gap:4px; background:var(--bg); border:1px solid var(--line);
  border-radius:var(--r-sm); padding:14px 15px; transition:.2s;
}
.ev-item:hover{ border-color:var(--brand-l2); background:#fff; }
.ev-item i{
  font-style:normal; font-size:10.8px; font-weight:800; letter-spacing:.08em; color:var(--brand);
  background:var(--brand-l); border-radius:4px; padding:2px 7px; align-self:flex-start;
}
.ev-item b{ font-size:13px; color:var(--ink); line-height:1.5; }
.ev-item span{ font-size:11.6px; color:var(--muted); }
.ev-voucher{
  margin:16px 0 0; font-size:12.6px; color:#8A4A16; background:var(--accent-l);
  border-radius:var(--r-sm); padding:12px 15px; line-height:1.72;
}
.ev-voucher b{ display:block; font-size:11.2px; letter-spacing:.08em; margin-bottom:3px; color:#A85A1E; }

/* ---------- 紧凑版图条 ---------- */
.bt-row{ display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.bt-tile{
  display:flex; flex-direction:column; gap:5px; background:var(--card);
  border:1px solid var(--line); border-left:3px solid var(--bz,var(--brand));
  border-radius:var(--r-sm); padding:15px 15px 13px; box-shadow:var(--sh-1);
  transition:.2s cubic-bezier(.4,0,.2,1);
}
.bt-tile:hover{ transform:translateY(-3px); box-shadow:var(--sh-2); }
.bt-zi{
  width:28px; height:28px; border-radius:8px; display:grid; place-items:center;
  font-size:13.4px; font-weight:800; color:#fff; background:var(--bz,var(--brand));
}
.bt-tile b{ font-size:14px; line-height:1.42; color:var(--ink); }
.bt-tile em{ font-style:normal; font-size:11.4px; color:var(--muted); }

/* ---------- 呼吸分隔（版图页专用小标题带） ---------- */
.band{
  display:flex; align-items:center; gap:14px; margin:0 0 26px;
}
.band .bn{
  font-size:12px; font-weight:800; letter-spacing:.1em; color:#fff;
  background:var(--brand-d); border-radius:99px; padding:4px 12px;
}
.band h3{ font-size:19px; }
.band p{ margin:0; font-size:13.4px; color:var(--muted); }
.band .rule{ flex:1; height:1px; background:var(--line); }

@media (max-width:1080px){
  .qk-grid{ grid-template-columns:repeat(2,1fr); }
  .bt-row{ grid-template-columns:repeat(3,1fr); }
  .bz-grid,.ev-cards,.ev-grid{ grid-template-columns:repeat(2,1fr); }
  .al{ grid-template-columns:repeat(2,1fr); }
  .dt-ai,.dt-cbb{ grid-template-columns:1fr; }
  .dt-ops{ grid-template-columns:1fr; }
  .cbb-mx-head,.cbb-mx-row{ grid-template-columns:190px repeat(3,1fr); }
}
@media (max-width:760px){
  .qk-grid,.bz-grid,.ev-cards,.ev-grid,.al,.vp{ grid-template-columns:1fr; }
  .bt-row{ grid-template-columns:repeat(2,1fr); }
  .vp-bottom{ grid-column:auto; }
  .cbb-mx-head,.cbb-mx-row{ grid-template-columns:1fr; }
  .cbb-mx-corner{ display:none; }
  .cbb-mx-col{ border-left:0; border-top:1px solid rgba(255,255,255,.14); }
  .cbb-mx-act{ border-right:0; border-bottom:1px solid var(--line); }
  .cbb-mx-cell{ border-left:0; border-top:1px dashed var(--line); padding-top:14px; }
  .band{ flex-wrap:wrap; }
  .band .rule{ display:none; }
  .ring-wrap{ padding:8px 2px; }
}

/* ============================================================
   产业版图 · 值流（谁服务 · 谁收益）
   ============================================================ */
.mx.syn .syn-c{ min-width:190px; font-size:12.6px; color:var(--ink-2); }
.mx.syn .syn-earn{ background:var(--brand-l); color:var(--brand-d); font-weight:600; }

.vf-list{ display:flex; flex-direction:column; gap:16px; }
.vf-card{
  background:var(--card); border:1px solid var(--line); border-left:4px solid var(--bz,var(--brand));
  border-radius:var(--r); padding:20px 22px; box-shadow:var(--sh-1);
}
.vf-card.is-off{ border-left-style:dashed; background:#FCFDFC; }
.vf-h{ display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.vf-zi{
  flex:0 0 auto; width:38px; height:38px; border-radius:11px; display:grid; place-items:center;
  font-size:16.5px; font-weight:800; color:#fff; background:var(--bz,var(--brand));
}
.vf-ttl{ flex:1 1 auto; display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
.vf-ttl h3{ font-size:16.4px; }
.vf-tag{
  font-size:11.2px; font-weight:800; letter-spacing:.04em; padding:3px 9px; border-radius:6px;
  background:var(--bg); color:var(--muted); border:1px solid var(--line);
}
.vf-closed{
  flex:0 0 auto; font-size:11.6px; font-weight:800; padding:4px 11px; border-radius:999px;
}
.vf-closed.yes{ background:var(--brand-l); color:var(--brand-d); border:1px solid var(--brand-l2); }
.vf-closed.no{ background:var(--accent-l); color:#8A4A16; border:1px solid #F7DCC6; }
.vf-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
.vf-cell{ background:var(--bg); border-radius:var(--r-sm); padding:12px 14px; }
.vf-cell b{ display:block; font-size:11.8px; letter-spacing:.06em; color:var(--muted); margin-bottom:5px; }
.vf-cell p{ margin:0; font-size:13.8px; color:var(--ink-2); }
.vf-legs{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.vf-leg{ border:1px solid var(--line); border-radius:var(--r-sm); padding:11px 13px; }
.vf-leg-k{
  display:inline-block; font-size:11.4px; font-weight:800; padding:2px 9px; border-radius:999px;
  background:var(--bz,var(--brand)); color:#fff; margin-bottom:7px;
}
.vf-leg p{ margin:0; font-size:13.2px; color:var(--ink-2); }
.vf-note{ margin:12px 0 0; font-size:12.8px; color:var(--muted); border-top:1px dashed var(--line); padding-top:10px; }
.vf-sum{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:22px; }
.vf-sum-item{ background:var(--brand-l); border:1px solid var(--brand-l2); border-radius:var(--r); padding:16px 18px; }
.vf-sum-item b{ display:block; font-size:14.4px; color:var(--brand-d); margin-bottom:6px; }
.vf-sum-item p{ margin:0; font-size:13.2px; color:var(--ink-2); }

/* 两类代理卡 */
.st-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.st-card{ background:var(--bg); border:1px solid var(--line); border-radius:var(--r); padding:18px 20px; }
.st-h{ display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.st-zi{
  width:32px; height:32px; border-radius:9px; display:grid; place-items:center;
  font-size:14.6px; font-weight:800; color:#fff; background:var(--blue);
}
.st-h h4{ font-size:15.4px; }
.st-it{ font-size:13.4px; color:var(--ink-2); margin:0 0 12px; }
.st-row{ display:flex; gap:9px; font-size:13px; margin-bottom:8px; align-items:flex-start; }
.st-row b{ flex:0 0 62px; color:var(--muted); font-weight:700; font-size:12.4px; padding-top:1px; }
.st-row span{ flex:1 1 auto; color:var(--ink-2); }
.st-legs{ display:flex; flex-direction:column; gap:7px; margin:10px 0 12px; }
.st-leg{ background:#fff; border:1px solid var(--line); border-radius:var(--r-sm); padding:9px 12px; }
.st-leg i{ display:block; font-style:normal; font-size:11.6px; font-weight:800; color:var(--brand); margin-bottom:3px; }
.st-leg span{ font-size:12.8px; color:var(--ink-2); }
.st-gate{
  font-size:12.4px; color:#8A4A16; background:var(--accent-l); border:1px solid #F7DCC6;
  border-radius:var(--r-sm); padding:9px 12px;
}
.st-gate b{ display:block; font-size:11.4px; letter-spacing:.06em; margin-bottom:3px; }

/* ============================================================
   品牌运营规划
   ============================================================ */
.goal-cards{ display:grid; grid-template-columns:repeat(5,1fr); gap:13px; }
.goal-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--r); padding:16px 16px 14px; box-shadow:var(--sh-1); }
.goal-card h4{ font-size:14.4px; margin-bottom:7px; color:var(--brand-d); }
.goal-card p{ margin:0 0 10px; font-size:12.8px; color:var(--ink-2); }
.goal-hook{ display:block; font-size:12.2px; font-weight:700; color:var(--accent); }

.stg-flow{ display:flex; align-items:stretch; gap:8px; flex-wrap:wrap; }
.stg-node{
  flex:1 1 150px; background:var(--card); border:1px solid var(--line); border-radius:var(--r);
  padding:13px 15px; text-align:center; box-shadow:var(--sh-1);
}
.stg-node b{ display:block; font-size:14.2px; color:var(--brand-d); }
.stg-node span{ font-size:12.2px; color:var(--muted); }
.stg-arrow{ align-self:center; color:var(--line); font-weight:800; font-size:15px; }

.way-filter{ display:flex; gap:9px; flex-wrap:wrap; align-items:center; margin-bottom:24px; }
.chip-btn{
  border:1px solid var(--line); background:#fff; color:var(--ink-2);
  font-size:13px; font-weight:700; padding:7px 15px; border-radius:999px; transition:.18s;
}
.chip-btn b{ font-weight:800; color:var(--brand); margin-left:3px; }
.chip-btn:hover{ border-color:var(--brand-l2); background:var(--brand-l); }
.chip-btn.is-on{ background:var(--brand); border-color:var(--brand); color:#fff; }
.chip-btn.is-on b{ color:#fff; }
.chip-btn.sm{ font-size:12.2px; padding:5px 12px; }
.chip-btn.sm.is-on{ background:var(--blue); border-color:var(--blue); }
.way-filter-sep{ width:1px; height:22px; background:var(--line); margin:0 3px; }

.way-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.way-card{
  background:var(--card); border:1px solid var(--line); border-top:4px solid var(--bz,var(--brand));
  border-radius:var(--r); padding:18px 19px 16px; box-shadow:var(--sh-1);
  display:flex; flex-direction:column;
}
.way-card.is-hide{ display:none; }
.way-h{ display:flex; align-items:center; gap:11px; margin-bottom:11px; }
.way-ico{
  flex:0 0 auto; width:36px; height:36px; border-radius:10px; display:grid; place-items:center;
  font-size:17px; background:var(--bg);
}
.way-ttl{ flex:1 1 auto; }
.way-ttl h3{ font-size:15.4px; }
.way-grp{ font-size:11.6px; color:var(--muted); }
.way-stage{
  flex:0 0 auto; font-size:11.2px; font-weight:800; padding:3px 9px; border-radius:999px;
  border:1px solid var(--line); color:var(--muted); background:var(--bg);
}
.way-stage.st-now{ background:var(--brand-l); color:var(--brand-d); border-color:var(--brand-l2); }
.way-stage.st-m3{ background:var(--blue-l); color:var(--blue); border-color:#CFE0EC; }
.way-stage.st-m6{ background:var(--accent-l); color:#8A4A16; border-color:#F7DCC6; }
.way-goal{ font-size:13.6px; color:var(--ink-2); margin:0 0 13px; }
.way-sec{ margin-bottom:12px; }
.way-sec > b{ display:block; font-size:11.6px; letter-spacing:.06em; color:var(--muted); margin-bottom:6px; }
.way-chips{ display:flex; flex-wrap:wrap; gap:6px; }
.way-chips span{
  font-size:12px; padding:3px 9px; border-radius:6px; background:var(--bg);
  border:1px solid var(--line); color:var(--ink-2);
}
.way-kv{ display:flex; flex-wrap:wrap; gap:8px 14px; margin-bottom:12px; }
.way-kv span{ font-size:12.2px; color:var(--ink-2); }
.way-kv b{ color:var(--muted); font-weight:700; margin-right:5px; font-size:11.6px; }
.way-ul{ list-style:none; padding:0; margin:0; }
.way-ul li{ position:relative; padding-left:13px; font-size:12.8px; color:var(--ink-2); margin-bottom:4px; }
.way-ul li::before{ content:"·"; position:absolute; left:3px; color:var(--brand); font-weight:800; }
.way-who{ display:flex; flex-direction:column; gap:6px; }
.way-who-row{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.way-who-row i{ font-style:normal; font-size:11.4px; font-weight:800; color:var(--muted); flex:0 0 44px; }
.chip-human{
  font-size:11.6px; font-weight:700; padding:3px 9px; border-radius:999px;
  background:var(--blue-l); color:var(--blue); border:1px solid #CFE0EC;
}
.way-foot{
  margin-top:auto; padding-top:11px; border-top:1px dashed var(--line);
  display:flex; flex-wrap:wrap; gap:6px; align-items:center;
}
.way-foot b{ font-size:11.6px; color:var(--muted); margin-right:2px; }
.way-foot span{
  font-size:11.8px; font-weight:700; color:var(--brand-d);
  background:var(--brand-l); border-radius:6px; padding:2px 8px;
}
.way-risk{ margin:10px 0 0; font-size:12px; color:#8A4A16; }

/* 内容流水线 */
.pline{ list-style:none; padding:0; margin:0; counter-reset:pl; }
.pline-step{ display:flex; gap:16px; padding:0 0 20px; position:relative; }
.pline-step:not(:last-child)::before{
  content:""; position:absolute; left:19px; top:44px; bottom:0; width:2px; background:var(--line);
}
.pline-seq{
  flex:0 0 auto; width:40px; height:40px; border-radius:12px; display:grid; place-items:center;
  font-size:14.4px; font-weight:800; color:#fff; background:var(--brand);
  box-shadow:0 6px 16px rgba(11,122,99,.22); position:relative; z-index:1;
}
.pline-body{
  flex:1 1 auto; background:var(--card); border:1px solid var(--line);
  border-radius:var(--r); padding:16px 19px 14px; box-shadow:var(--sh-1);
}
.pline-body h4{ font-size:15.2px; margin-bottom:6px; }
.pline-do{ font-size:13.4px; color:var(--ink-2); margin:0 0 12px; }
.pline-2col{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px; }
.pline-c{ background:var(--bg); border-radius:var(--r-sm); padding:10px 13px; }
.pline-c i{ display:block; font-style:normal; font-size:11.4px; font-weight:800; color:var(--muted); margin-bottom:4px; }
.pline-c span{ font-size:12.8px; color:var(--ink-2); }
.pline-meta{ display:flex; flex-wrap:wrap; gap:8px 18px; margin-bottom:10px; }
.pline-meta span{ font-size:12.4px; color:var(--ink-2); }
.pline-meta b{ color:var(--muted); font-weight:700; font-size:11.6px; margin-right:6px; }
.pline-gate{
  font-size:12.4px; background:var(--brand-l); border:1px solid var(--brand-l2);
  color:var(--brand-d); border-radius:var(--r-sm); padding:9px 12px;
}
.pline-gate b{ font-size:11.4px; letter-spacing:.06em; margin-right:6px; }

/* 角色表 / 节奏表 */
.mx.rl td, .mx.rh td{ font-size:12.8px; vertical-align:top; }
.mx.rl .rl-post b{ display:block; font-size:13.4px; color:var(--ink); }
.mx.rl .rl-post code{ font-size:11.4px; color:var(--muted); }
.mx.rl .rl-deliver{ color:var(--ink-2); }
.mx.rl .rl-ai{ display:table-cell; }
.mx.rl .rl-take, .mx.rl .rl-human{ color:var(--ink-2); }
.mx.rl .rl-out{ font-weight:800; font-size:12.2px; white-space:nowrap; }
.mx.rl .rl-out.yes{ color:var(--ok); }
.mx.rl .rl-out.mid{ color:var(--gold); }
.mx.rl .rl-out.no{ color:var(--danger); }
.mx.rh .rh-cycle b{ font-size:13.4px; color:var(--brand-d); white-space:nowrap; }
.mx.rh .rh-out, .mx.rh .rh-who{ color:var(--ink-2); }
.rh-ul{ list-style:none; padding:0; margin:0; }
.rh-ul li{ position:relative; padding-left:12px; margin-bottom:3px; }
.rh-ul li::before{ content:"·"; position:absolute; left:2px; color:var(--brand); font-weight:800; }

/* 阶段计划 */
.ph-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.ph-card{
  background:var(--card); border:1px solid var(--line); border-radius:var(--r);
  padding:20px 20px 16px; box-shadow:var(--sh-1);
}
.ph-h{ margin-bottom:10px; }
.ph-span{
  display:inline-block; font-size:11.6px; font-weight:800; color:#fff;
  background:var(--brand-d); border-radius:99px; padding:3px 11px; margin-bottom:8px;
}
.ph-h h3{ font-size:16px; }
.ph-goal{ font-size:13.4px; color:var(--ink-2); margin:0 0 14px; }
.ph-blk{ margin-bottom:12px; }
.ph-blk > b, .ph-acc > b, .ph-avoid > b{
  display:block; font-size:11.6px; letter-spacing:.06em; color:var(--muted); margin-bottom:6px;
}
.ph-ul{ list-style:none; padding:0; margin:0; }
.ph-ul li{ position:relative; padding-left:14px; font-size:12.8px; color:var(--ink-2); margin-bottom:5px; }
.ph-ul li::before{ content:"▸"; position:absolute; left:0; color:var(--brand); font-size:11px; }
ol.ph-ul{ counter-reset:ph; }
ol.ph-ul li::before{ content:counter(ph) "."; counter-increment:ph; font-weight:800; font-size:11.4px; }
.ph-acc{ background:var(--brand-l); border:1px solid var(--brand-l2); border-radius:var(--r-sm); padding:11px 13px; margin-bottom:11px; }
.ph-acc li::before{ color:var(--brand-d); }
.ph-avoid{ background:var(--accent-l); border:1px solid #F7DCC6; border-radius:var(--r-sm); padding:11px 13px; }
.ph-avoid li{ color:#8A4A16; }
.ph-avoid li::before{ color:var(--accent); content:"✕"; font-size:10.5px; }

/* KPI */
.kpi-groups{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.kpi-grp{ background:var(--card); border:1px solid var(--line); border-radius:var(--r); padding:18px 20px; box-shadow:var(--sh-1); }
.kpi-grp.is-guard{ grid-column:1 / -1; background:#FFFBF7; border-color:#F7DCC6; }
.kpi-grp > h3{ font-size:14.8px; margin-bottom:12px; color:var(--brand-d); }
.kpi-grp.is-guard > h3{ color:#8A4A16; }
.kpi-row{
  display:grid; grid-template-columns:150px 1fr auto; gap:10px; align-items:baseline;
  padding:9px 0; border-top:1px dashed var(--line);
}
.kpi-row:first-child{ border-top:0; }
.kpi-row b{ font-size:13.2px; }
.kpi-row span{ font-size:12.6px; color:var(--ink-2); }
.kpi-row em{
  font-style:normal; font-size:12.2px; font-weight:700; color:var(--brand-d);
  background:var(--brand-l); border-radius:6px; padding:2px 9px; white-space:nowrap;
}
.kpi-grp.is-guard .kpi-row em{ background:#FDE7E6; color:var(--danger); }

/* 预算 */
.bud-tiers{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.bud-tier{ background:var(--card); border:1px solid var(--line); border-radius:var(--r); padding:20px; box-shadow:var(--sh-1); }
.bud-h{ margin-bottom:10px; }
.bud-h h3{ font-size:16.4px; color:var(--brand-d); }
.bud-fit{ font-size:12.4px; color:var(--muted); }
.bud-team{ font-size:13px; color:var(--ink-2); margin:0 0 14px; }
.bud-team b{ display:block; font-size:11.6px; color:var(--muted); margin-bottom:4px; }
.bud-bar{ display:flex; height:12px; border-radius:99px; overflow:hidden; margin-bottom:11px; }
.bud-seg{ height:100%; }
.bud-legend{ display:flex; flex-wrap:wrap; gap:6px 13px; margin-bottom:13px; }
.bud-lg{ font-size:11.8px; color:var(--ink-2); display:inline-flex; align-items:center; gap:5px; }
.bud-lg i{ width:9px; height:9px; border-radius:3px; display:inline-block; }
.bud-lg b{ font-weight:800; }
.bud-expect{ font-size:12.8px; color:var(--ink-2); margin:0; }
.bud-expect b{ display:block; font-size:11.6px; color:var(--muted); margin-bottom:4px; }
.bud-caveat{
  margin:14px 0 0; font-size:12.4px; color:#8A4A16; background:var(--accent-l);
  border:1px solid #F7DCC6; border-radius:var(--r-sm); padding:10px 14px;
}

/* 纪律卡 / 分工表 */
.pol-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.pol-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--r); padding:18px 19px; box-shadow:var(--sh-1); }
.pol-h{ display:flex; align-items:center; gap:9px; margin-bottom:9px; }
.pol-id{
  font-size:11.6px; font-weight:800; color:#fff; background:var(--blue);
  border-radius:6px; padding:2px 8px;
}
.pol-h h4{ font-size:14.8px; }
.pol-card p{ font-size:13px; color:var(--ink-2); margin:0 0 10px; }
.pol-enf{ display:block; font-size:11.8px; color:var(--muted); border-top:1px dashed var(--line); padding-top:9px; }
.mx.ho .ho-go{ color:var(--brand-d); font-weight:700; }

@media (max-width:1080px){
  .goal-cards{ grid-template-columns:repeat(2,1fr); }
  .way-grid,.ph-cards,.bud-tiers,.pol-cards{ grid-template-columns:repeat(2,1fr); }
  .vf-sum{ grid-template-columns:1fr; }
}
@media (max-width:760px){
  .goal-cards,.way-grid,.ph-cards,.bud-tiers,.pol-cards,.kpi-groups{ grid-template-columns:1fr; }
  .st-grid,.vf-grid,.vf-legs,.pline-2col{ grid-template-columns:1fr; }
  .kpi-row{ grid-template-columns:1fr; gap:4px; }
  .way-filter-sep{ display:none; }
  .stg-arrow{ display:none; }
}

/* ==========================================================================
   医疗商城 · C 端出口
   ========================================================================== */

/* ---------- 三个入口 ---------- */
.ht-entries{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.ht-entry{
  position:relative; background:var(--card); border:1px solid var(--line);
  border-radius:var(--r-lg); padding:28px 26px 24px;
  border-top:3px solid var(--bz,var(--brand)); box-shadow:var(--sh-1);
  transition:transform .25s ease, box-shadow .25s ease;
}
.ht-entry:hover{ transform:translateY(-4px); box-shadow:var(--sh-2); }
.ht-entry-h{ display:flex; align-items:center; gap:12px; }
.ht-zi{
  width:44px; height:44px; flex:0 0 44px; border-radius:13px;
  display:flex; align-items:center; justify-content:center;
  font-size:20px; font-weight:800; color:#fff; background:var(--bz,var(--brand));
}
.ht-entry-h h3{ font-size:19px; }
.ht-full{ display:block; font-size:12.5px; color:var(--muted); font-weight:500; margin-top:2px; }
.ht-model{
  margin-left:auto; font-size:12px; font-weight:700; color:var(--brand-d);
  background:var(--brand-l); padding:3px 10px; border-radius:999px;
  border:1px solid var(--brand-l2); white-space:nowrap;
}
.ht-line{ margin:16px 0 0; font-size:14.8px; color:var(--ink-2); line-height:1.75; }
.ht-pair{ margin-top:16px; display:flex; flex-direction:column; gap:10px; }
.ht-p{ background:var(--bg); border-radius:var(--r-sm); padding:10px 12px; }
.ht-p b{ display:block; font-size:12px; color:var(--brand); letter-spacing:.06em; margin-bottom:3px; }
.ht-p span{ font-size:13.6px; color:var(--ink-2); line-height:1.7; }
.ht-tags{ display:flex; flex-wrap:wrap; gap:7px; margin-top:14px; }
.ht-tags span{
  font-size:12.3px; color:var(--ink-2); background:var(--brand-l);
  border-radius:999px; padding:3px 10px;
}
.ht-entry-f{
  margin:14px 0 0; padding-top:12px; border-top:1px dashed var(--line);
  font-size:13px; color:var(--muted); line-height:1.7;
}
.ht-entry-f b{ color:var(--brand); margin-right:6px; }

/* ---------- 寻医问药：四类服务 ---------- */
.ht-svcs{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.ht-svc{
  background:var(--card); border:1px solid var(--line); border-radius:var(--r-lg);
  padding:26px 24px; box-shadow:var(--sh-1);
}
.ht-svc-h{ display:flex; align-items:baseline; gap:12px; }
.ht-svc-n{ font-size:13px; font-weight:900; color:var(--brand-2); letter-spacing:.08em; }
.ht-svc-h h4{ font-size:18px; }
.ht-svc-d{ margin:12px 0 0; font-size:14.4px; color:var(--ink-2); line-height:1.78; }
.ht-4{ margin-top:16px; display:flex; flex-direction:column; gap:1px; background:var(--line); border-radius:var(--r-sm); overflow:hidden; }
.ht-c{ background:var(--bg); padding:11px 14px; }
.ht-c i{ display:block; font-style:normal; font-size:12px; font-weight:700; color:var(--brand); margin-bottom:3px; }
.ht-c span{ font-size:13.4px; color:var(--ink-2); line-height:1.7; }
.ht-limit{
  margin:16px 0 0; padding:12px 14px; border-radius:var(--r-sm);
  background:#FDF1E7; border-left:3px solid var(--accent);
  font-size:13.4px; color:#7A3E12; line-height:1.72;
}
.ht-limit b{ display:block; color:var(--accent); margin-bottom:3px; font-size:12px; }

/* ---------- 开工前的门 ---------- */
.ht-gate{ margin-top:32px; }
.ht-gate-h{
  display:flex; flex-wrap:wrap; align-items:baseline; gap:14px;
  padding-bottom:14px; border-bottom:2px solid var(--line); margin-bottom:22px;
}
.ht-gate-h b{
  font-size:13px; font-weight:800; color:#fff; background:var(--blue);
  padding:4px 12px; border-radius:6px; letter-spacing:.08em;
}
.ht-gate-h span{ font-size:13.6px; color:var(--muted); }
.ht-gate-c{ border-top:3px solid var(--blue); }
.ht-gate-c h4{ font-size:16px; margin-bottom:8px; }

/* ---------- 履约链路 ---------- */
.ht-flow{ counter-reset:hf; display:flex; flex-direction:column; gap:0; }
.ht-flow-step{ display:flex; gap:18px; padding:20px 0; border-bottom:1px dashed var(--line); }
.ht-flow-step:last-child{ border-bottom:0; }
.ht-flow-seq{
  flex:0 0 42px; height:42px; border-radius:12px; background:var(--brand-l);
  color:var(--brand); font-weight:900; font-size:14px;
  display:flex; align-items:center; justify-content:center;
}
.ht-flow-body{ flex:1; min-width:0; }
.ht-flow-body h4{ font-size:16.5px; margin-bottom:6px; }
.ht-flow-body p{ margin:0 0 10px; font-size:14.2px; color:var(--ink-2); line-height:1.78; }
.ht-flow-m{ display:flex; flex-wrap:wrap; gap:10px; }
.ht-flow-m span{
  font-size:12.6px; color:var(--ink-2); background:var(--bg);
  border:1px solid var(--line); border-radius:999px; padding:4px 12px;
}
.ht-flow-m b{ color:var(--brand); font-size:11.5px; margin-right:5px; letter-spacing:.05em; }
.ht-flow-m .ht-sla{ background:var(--brand-l); border-color:var(--brand-l2); color:var(--brand-d); font-weight:700; }
.ht-flow-m .ht-sla b{ color:var(--brand-d); }

/* ---------- 时效分级 ---------- */
.ht-tiers{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.ht-tier{
  background:var(--card); border:1px solid var(--line); border-radius:var(--r);
  padding:22px 20px; box-shadow:var(--sh-1);
}
.ht-tier.is-first{ border-color:var(--brand-l2); background:linear-gradient(165deg,#F4FBF9,#fff); }
.ht-tier-h{ display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.ht-tier-h h4{ font-size:17px; }
.ht-range{
  font-size:13px; font-weight:800; color:#fff; background:var(--brand);
  padding:3px 10px; border-radius:999px; white-space:nowrap;
}
.ht-tier-d{ margin:12px 0 0; font-size:13.8px; color:var(--ink-2); line-height:1.72; }
.ht-tier-m{ margin-top:12px; font-size:12.8px; color:var(--muted); }
.ht-tier-m b{ color:var(--brand); margin-right:5px; font-size:11.5px; letter-spacing:.05em; }
.ht-tier-n{
  margin:12px 0 0; padding-top:12px; border-top:1px dashed var(--line);
  font-size:12.8px; color:var(--muted); line-height:1.7;
}

/* ---------- 处方流转 ---------- */
.ht-rx{ display:grid; grid-template-columns:1.55fr 1fr; gap:24px; align-items:start; }
.ht-rx-chain{ display:flex; flex-direction:column; gap:12px; }
.ht-rx-node{
  position:relative; background:var(--card); border:1px solid var(--line);
  border-left:4px solid var(--danger); border-radius:var(--r);
  padding:16px 18px; box-shadow:var(--sh-1);
}
.ht-rx-seq{
  position:absolute; right:16px; top:14px;
  font-size:11.5px; font-weight:900; color:var(--danger); letter-spacing:.08em;
}
.ht-rx-node b{ display:block; font-size:16px; margin-bottom:5px; }
.ht-rx-node p{ margin:0; font-size:13.6px; color:var(--ink-2); line-height:1.72; }
.ht-never{
  background:#FBF0EF; border:1px solid #F0D3D1; border-radius:var(--r);
  padding:22px 22px 18px;
}
.ht-never b{ display:block; font-size:15px; color:var(--danger); margin-bottom:12px; }
.ht-never ul{ display:flex; flex-direction:column; gap:10px; }
.ht-never li{
  position:relative; padding-left:22px; font-size:13.6px;
  color:#7A3330; line-height:1.72;
}
.ht-never li::before{
  content:"✕"; position:absolute; left:0; top:0;
  color:var(--danger); font-weight:900; font-size:12px;
}

/* ---------- 品类分层表 ---------- */
.mx.ht th:nth-child(1), .mx.ht td:nth-child(1){ width:150px; }
.mx.ht th:nth-child(2), .mx.ht td:nth-child(2){ width:92px; text-align:center; }
.mx.ht th:nth-child(4), .mx.ht td:nth-child(4){ width:180px; }
.mx.ht th:nth-child(5), .mx.ht td:nth-child(5){ width:160px; }
.mx.ht td{ vertical-align:top; font-size:13.8px; line-height:1.72; }
.ht-td-k b{ color:var(--ink); }
.ht-td-pf{ color:var(--muted); font-size:13px!important; }
.ht-sell{
  display:inline-block; font-size:12px; font-weight:800; padding:3px 10px;
  border-radius:999px; white-space:nowrap;
}
.ht-sell.ok{ background:var(--brand-l); color:var(--brand-d); }
.ht-sell.lim{ background:#FDF1E7; color:#7A3E12; }
.mx.ht3 td{ vertical-align:top; font-size:13.8px; line-height:1.72; }
.mx.ht3 th:nth-child(1), .mx.ht3 td:nth-child(1){ width:180px; }
.mx.ht3 th:nth-child(3), .mx.ht3 td:nth-child(3){ width:280px; }
.ht-td-n{ color:var(--muted); font-size:13px!important; }

/* ---------- 一部手机上的完整链路 ---------- */
.ht-jr{
  display:flex; align-items:stretch; gap:0; overflow-x:auto;
  padding:6px 2px 14px;
}
.ht-jr-node{
  flex:1 0 132px; min-width:132px;
  background:var(--card); border:1px solid var(--line); border-radius:var(--r);
  padding:18px 14px; text-align:center; box-shadow:var(--sh-1);
}
.ht-jr-zi{
  display:flex; width:38px; height:38px; margin:0 auto 10px;
  align-items:center; justify-content:center;
  border-radius:11px; background:var(--brand-l); color:var(--brand);
  font-size:17px; font-weight:900;
}
.ht-jr-node b{ display:block; font-size:14.5px; margin-bottom:7px; }
.ht-jr-node p{ margin:0 0 10px; font-size:12.6px; color:var(--muted); line-height:1.65; }
.ht-jr-lf{
  display:inline-block; font-size:11.5px; color:var(--brand);
  border-top:1px dashed var(--line); padding-top:8px;
}
.ht-jr-ar{
  align-self:center; color:var(--brand-l2); font-size:20px; font-weight:900;
  padding:0 4px; flex:0 0 auto;
}

/* ---------- 阶段与前置条件 ---------- */
.ht-stages{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.ht-stage{
  background:var(--card); border:1px solid var(--line); border-radius:var(--r-lg);
  padding:26px 24px; box-shadow:var(--sh-1); border-top:3px solid var(--muted);
}
.ht-stage.t-now{ border-top-color:var(--brand); }
.ht-stage.t-next{ border-top-color:var(--accent); }
.ht-stage.t-late{ border-top-color:var(--blue); }
.ht-stage-h{ margin-bottom:16px; }
.ht-stage-q{
  display:inline-block; font-size:12.3px; font-weight:700;
  color:var(--muted); background:var(--bg); border-radius:999px;
  padding:3px 11px; margin-bottom:10px;
}
.ht-stage h3{ font-size:18px; }
.ht-ul{ display:flex; flex-direction:column; gap:10px; }
.ht-ul li{
  position:relative; padding-left:20px; font-size:13.8px;
  color:var(--ink-2); line-height:1.72;
}
.ht-ul li::before{
  content:""; position:absolute; left:0; top:8px;
  width:7px; height:7px; border-radius:2px; background:var(--brand-2);
}

@media (max-width:980px){
  .ht-entries, .ht-tiers, .ht-stages{ grid-template-columns:1fr; }
  .ht-svcs{ grid-template-columns:1fr; }
  .ht-rx{ grid-template-columns:1fr; }
  .ht-jr-node{ flex:1 0 118px; min-width:118px; }
}

/* ============================================================
   成长志 · 要店帮自己的记录
   ============================================================ */

/* 叙事顺序条 */
.gr-chain{
  display:flex; align-items:center; flex-wrap:wrap; gap:8px;
  padding:14px 18px; background:var(--brand-l); border-radius:14px;
  border:1px solid var(--line); margin:18px 0;
}
.gr-chain-node{
  font-size:13.5px; font-weight:700; color:var(--brand-d);
  background:var(--card); border:1px solid var(--brand-l2);
  padding:7px 14px; border-radius:999px; white-space:nowrap;
}
.gr-chain-arrow{ color:var(--brand-2); font-weight:800; }

/* 价值观卡 */
.gr-values{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:14px; margin:20px 0; }
.gr-value{
  background:var(--card); border:1px solid var(--line); border-radius:14px;
  padding:20px 20px 18px; position:relative; overflow:hidden;
}
.gr-value::before{
  content:""; position:absolute; inset:0 auto 0 0; width:4px;
  background:linear-gradient(180deg,var(--brand),var(--brand-2));
}
.gr-vid{ font-size:12px; font-weight:800; color:var(--brand-2); letter-spacing:.08em; }
.gr-value h4{ margin:8px 0 8px; font-size:16px; color:var(--ink); }
.gr-value p{ margin:0; font-size:13.5px; line-height:1.75; color:var(--muted); }

/* 愿景判定 */
.gr-judges{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:12px; margin:16px 0; }
.gr-judge{
  display:flex; gap:10px; align-items:flex-start;
  background:var(--card); border:1px dashed var(--brand-l2);
  border-radius:12px; padding:14px 16px;
}
.gr-judge i{
  flex:0 0 auto; width:22px; height:22px; border-radius:50%;
  background:var(--brand); color:#fff; font-style:normal; font-size:12px;
  display:flex; align-items:center; justify-content:center; margin-top:2px;
}
.gr-judge b{ display:block; font-size:14px; color:var(--ink); margin-bottom:2px; }
.gr-judge span{ font-size:12.5px; color:var(--muted); line-height:1.6; }

/* 现在在干什么 */
.gr-now{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:14px; margin:20px 0; }
.gr-now-card{ background:var(--card); border:1px solid var(--line); border-radius:14px; padding:18px 20px; }
.gr-now-h{ display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:8px; }
.gr-now-h h4{ margin:0; font-size:15px; color:var(--ink); }
.gr-now-st{
  flex:0 0 auto; font-size:12px; font-weight:700; padding:3px 12px;
  border-radius:999px; white-space:nowrap;
}
.gr-now-card.st-on   .gr-now-st{ background:var(--brand-l); color:var(--brand-d); }
.gr-now-card.st-build .gr-now-st{ background:var(--blue-l); color:var(--blue); }
.gr-now-card.st-plan .gr-now-st{ background:#FBEFE4; color:#9A5A1D; }
.gr-now-card p{ margin:0; font-size:13.5px; line-height:1.75; color:var(--muted); }
.gr-now-card.st-on   { border-top:3px solid var(--brand); }
.gr-now-card.st-build{ border-top:3px solid var(--blue); }
.gr-now-card.st-plan { border-top:3px solid var(--accent); }

/* 未来三阶段 */
.gr-hz{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:14px; margin:20px 0; }
.gr-hz-card{
  background:var(--card); border:1px solid var(--line); border-radius:14px;
  padding:22px 20px; display:flex; flex-direction:column; gap:10px;
}
.gr-hz-when{
  align-self:flex-start; font-size:12px; font-weight:800; letter-spacing:.06em;
  color:#fff; background:var(--brand); padding:4px 12px; border-radius:999px;
}
.gr-hz-card h4{ margin:0; font-size:16.5px; color:var(--ink); }
.gr-hz-card p{ margin:0; font-size:13.5px; line-height:1.75; color:var(--muted); flex:1; }
.gr-hz-how{
  font-size:12.5px; line-height:1.65; color:var(--ink-2);
  background:var(--brand-l); border-radius:10px; padding:10px 12px;
}
.gr-hz-how b{ display:block; font-size:11.5px; color:var(--brand-d); margin-bottom:2px; }

/* 里程碑时间线 */
.gr-tl{ list-style:none; margin:22px 0; padding:0; position:relative; }
.gr-tl::before{
  content:""; position:absolute; left:9px; top:8px; bottom:8px; width:2px;
  background:linear-gradient(180deg,var(--brand),var(--brand-l2));
}
.gr-tl-item{ position:relative; padding:0 0 22px 36px; }
.gr-tl-item:last-child{ padding-bottom:0; }
.gr-tl-dot{
  position:absolute; left:2px; top:5px; width:16px; height:16px; border-radius:50%;
  background:var(--card); border:3px solid var(--brand);
}
.gr-tl-meta{ display:flex; gap:8px; align-items:center; margin-bottom:6px; flex-wrap:wrap; }
.gr-tl-date{ font-size:12.5px; font-weight:800; color:var(--brand-d); }
.gr-tl-tag{
  font-size:11px; font-weight:700; color:var(--blue);
  background:var(--blue-l); padding:2px 10px; border-radius:999px;
}
.gr-tl-body h4{ margin:0 0 6px; font-size:15.5px; color:var(--ink); }
.gr-tl-body p{ margin:0 0 6px; font-size:13.5px; line-height:1.7; color:var(--muted); }
.gr-tl-proof{ font-size:12px; color:var(--ink-2); }
.gr-tl-proof b{ color:var(--brand-d); margin-right:6px; }

/* 成长数据表 */
.gr-mx td{ vertical-align:top; padding:12px 14px; }
.gr-m-k b{ display:block; font-size:14px; color:var(--ink); margin-bottom:2px; }
.gr-m-k span{ font-size:12px; color:var(--muted); }
.gr-m-v{ font-size:14.5px; font-weight:800; color:var(--brand-d); white-space:nowrap; }
.gr-m-how{ font-size:12.5px; color:var(--muted); line-height:1.6; }

/* 帮扶记录卡 */
.gr-helps{ display:grid; gap:16px; margin:20px 0; }
.gr-help{ background:var(--card); border:1px solid var(--line); border-radius:14px; padding:20px 22px; }
.gr-help-role{
  display:inline-block; font-size:12.5px; font-weight:800; color:var(--brand-d);
  background:var(--brand-l); border-radius:999px; padding:4px 14px; margin-bottom:12px;
}
.gr-help-2col{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px; }
.gr-help-c{ border-radius:12px; padding:12px 14px; }
.gr-help-c i{ display:block; font-style:normal; font-size:11.5px; font-weight:800; margin-bottom:4px; letter-spacing:.04em; }
.gr-help-c span{ font-size:13px; line-height:1.65; color:var(--ink-2); display:block; }
.gr-help-c.before{ background:#F4F7F8; border:1px solid var(--line); }
.gr-help-c.before i{ color:var(--muted); }
.gr-help-c.after{ background:var(--brand-l); border:1px solid var(--brand-l2); }
.gr-help-c.after i{ color:var(--brand-d); }
.gr-help-meta{ display:flex; flex-wrap:wrap; gap:10px 24px; margin-bottom:10px; }
.gr-help-meta span{ font-size:12.5px; color:var(--muted); }
.gr-help-meta b{ color:var(--ink); margin-right:6px; }
.gr-help-media-row{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:6px; }
.gr-help-media-row b{ font-size:12.5px; color:var(--ink); margin-right:4px; }
.gr-help-media{
  font-size:12px; color:var(--blue); background:var(--blue-l);
  padding:3px 12px; border-radius:999px;
}
.gr-help-note{
  margin:8px 0 0; font-size:12.5px; line-height:1.65; color:var(--muted);
  border-top:1px dashed var(--line); padding-top:10px;
}

/* 影像记录 */
.gr-gal-kinds{ display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:14px; margin:20px 0; }
.gr-gal-kind{ background:var(--card); border:1px solid var(--line); border-radius:14px; padding:20px; }
.gr-gal-kind h4{ margin:0 0 8px; font-size:15.5px; color:var(--ink); }
.gr-gal-kind p{ margin:0 0 12px; font-size:13px; line-height:1.7; color:var(--muted); }
.gr-gal-km{ display:grid; gap:6px; }
.gr-gal-km span{ font-size:12px; color:var(--ink-2); }
.gr-gal-km b{ color:var(--brand-d); margin-right:6px; }
.gr-sub{ margin:26px 0 14px; font-size:16px; color:var(--ink); }
.gr-gal-shots{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr)); gap:10px; }
.gr-gal-shot{
  display:flex; gap:12px; align-items:flex-start;
  background:var(--card); border:1px solid var(--line); border-radius:12px; padding:14px 16px;
}
.gr-gal-ic{
  flex:0 0 auto; width:34px; height:34px; border-radius:10px;
  background:var(--brand-l); color:var(--brand-d);
  display:flex; align-items:center; justify-content:center; font-size:14px;
}
.gr-gal-shot h5{ margin:0 0 3px; font-size:14px; color:var(--ink); }
.gr-gal-shot p{ margin:0; font-size:12.5px; line-height:1.6; color:var(--muted); }
.gr-gal-st{
  flex:0 0 auto; align-self:center; font-size:11.5px; font-weight:700;
  color:var(--blue); background:var(--blue-l); padding:3px 10px; border-radius:999px; white-space:nowrap;
}

/* 记录流水线 */
.gr-rec{ display:grid; gap:10px; margin:20px 0; }
.gr-rec-step{
  display:flex; gap:14px; align-items:center;
  background:var(--card); border:1px solid var(--line); border-radius:12px; padding:14px 18px;
}
.gr-rec-seq{
  flex:0 0 auto; font-size:16px; font-weight:800; color:var(--brand-2);
  font-variant-numeric:tabular-nums;
}
.gr-rec-body{ flex:1; }
.gr-rec-body h4{ margin:0 0 3px; font-size:14.5px; color:var(--ink); }
.gr-rec-body p{ margin:0; font-size:13px; line-height:1.6; color:var(--muted); }
.gr-rec-who{
  flex:0 0 auto; font-size:12px; font-weight:700; padding:4px 12px;
  border-radius:999px; white-space:nowrap;
}
.gr-rec-who.human{ background:var(--brand-l); color:var(--brand-d); }
.gr-rec-who.ai{ background:var(--blue-l); color:var(--blue); }

/* 信任五条 */
.gr-trusts{ display:grid; gap:12px; margin:20px 0; }
.gr-trust{
  display:flex; gap:16px; align-items:flex-start;
  background:var(--card); border:1px solid var(--line); border-radius:14px; padding:18px 20px;
}
.gr-trust-n{
  flex:0 0 auto; font-size:20px; font-weight:800; color:var(--brand-l2);
  font-variant-numeric:tabular-nums; line-height:1; margin-top:2px;
}
.gr-trust h4{ margin:0 0 5px; font-size:15.5px; color:var(--ink); }
.gr-trust p{ margin:0 0 8px; font-size:13.5px; line-height:1.7; color:var(--muted); }
.gr-trust-proof{ font-size:12.5px; color:var(--ink-2); }
.gr-trust-proof b{ color:var(--brand-d); margin-right:6px; }

@media (max-width:980px){
  .gr-help-2col{ grid-template-columns:1fr; }
  .gr-rec-step{ flex-wrap:wrap; }
  .gr-rec-who{ order:-1; }
}

/* ---------- 响应式兜底守卫（site-qa 自检后补齐） ---------- */
/* 多列补全：窄屏统一降列，避免被压成细条 */
@media (max-width:860px){
  .ch-kv{ grid-template-columns:1fr 1fr; }
}
@media (max-width:560px){
  .ch-kv{ grid-template-columns:1fr; }
  .fgrid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:400px){
  .fgrid{ grid-template-columns:1fr; }
}
/* 宽表横向滚动，不撑破版面 */
table{ max-width:100%; }
table.tbl, table.api{ display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; }
table.tbl td, table.api td{ white-space:normal; }

/* ---------- 打印（方案书） ---------- */
@media print{
  header.nav,.topbar,footer.site,.cta-band,.no-print{ display:none!important; }
  body{ background:#fff; font-size:11.5pt; }
  .page-head{ color:#000; background:none; padding:0 0 18px; border-bottom:2px solid #0B7A63; }
  .page-head h1{ font-size:22pt; } .page-head p,.hero p.lead{ color:#333; }
  .card,.kpi,.wb-card{ box-shadow:none; break-inside:avoid; border-color:#ccc; }
  .section{ padding:22px 0; }
  .h-lg{ font-size:16pt; } .h-md{ font-size:13pt; }
  a{ color:#000; }
}

/* ===== 紧凑回程条（mini-bar）：无完整导航页的回路保障 =====
   用途：详情页/工作台/邀请单等独立页，保证人工浏览随时能回官网与社区 */
.mini-bar{display:flex;align-items:center;gap:4px 14px;flex-wrap:wrap;padding:9px 20px;background:#fff;border-bottom:1px solid var(--line);font-size:13px;}
.mini-bar .mb-home{display:inline-flex;align-items:center;gap:6px;font-weight:800;color:var(--brand);text-decoration:none;}
.mini-bar .mb-home:hover{text-decoration:underline;}
.mini-bar .mb-sep{width:1px;height:14px;background:#DCE7E3;flex:none;}
.mini-bar a{color:var(--ink);text-decoration:none;font-weight:600;}
.mini-bar a:hover{color:var(--brand);}
.mini-bar .mb-right{margin-left:auto;color:var(--ink-2);font-size:12px;font-weight:500;}

/* 六层矩阵：第一周动作（落地三问②的页面落点） */
.lvl-first{margin:10px 0 0;padding:10px 14px;background:#F2FAF7;border:1px dashed #BFD9D6;border-radius:10px;font-size:12.8px;line-height:1.75;color:#2B3A36;}
.lvl-first b{color:#0E3B33;}
.lvl-first .fw{display:inline-block;font-size:11px;font-weight:800;color:#0B7A63;background:#fff;border:1px solid #CFE6DE;border-radius:999px;padding:1px 9px;margin-right:8px;vertical-align:1px;}
