/* ============================================================
   IRMA （负责任采矿）助手 — 原型样式
   仅用于 irma/protype/ 目录原型页面
   正式版将转化为 irma/assets/css/ 下的持久样式
   配色：赭石 (ochre) → 岩灰 (stone)，呼应矿石与大地
   复用全站 /css/tailwind.css 的 --gray-* / --radius-* / --shadow-* / --surface
   ============================================================ */

:root {
  /* 赭石 ochre —— 主题主色，锚点 #b45309 */
  --ochre-50:#fbf6f0;  --ochre-100:#f6e8d7; --ochre-200:#eccfa8; --ochre-300:#e0b072;
  --ochre-400:#d08e3e; --ochre-500:#b8721e; --ochre-600:#b45309; --ochre-700:#8f4109;
  --ochre-800:#6f330b; --ochre-900:#4f250a;
  /* 岩灰 stone —— 中性骨架，锚点 #44403c */
  --stone-50:#f7f6f4;  --stone-100:#e9e7e3; --stone-200:#d4d0c9; --stone-300:#b3ada3;
  --stone-400:#8a8278; --stone-500:#6b6359; --stone-600:#524b43; --stone-700:#44403c;
  --stone-800:#322f2c; --stone-900:#1f1d1b;
  /* 4 大原则强调色（仅用于角标/边框，不大面积铺） */
  --p1:#4f46e5; --p1-bg:#eef2ff;   /* indigo — 商业诚信 */
  --p2:#059669; --p2-bg:#ecfdf5;   /* emerald — 积极遗产 */
  --p3:#d97706; --p3-bg:#fffbeb;   /* amber — 社会责任 */
  --p4:#0891b2; --p4-bg:#ecfeff;   /* cyan — 环境责任 */
  /* 成就等级：透明 < 50铜 < 75银 < 100金 */
  --lv-t:#78716c; --lv-50:#b45309; --lv-75:#94a3b8; --lv-100:#ca8a04;
  /* flag 争议条款 */
  --flag:#dc2626; --flag-bg:#fef2f2; --flag-border:#fecaca;
  --radius-sm:.375rem; --radius-md:.5rem; --radius-lg:.75rem;
}

body { font-family:'Inter','Noto Sans SC',system-ui,sans-serif; color:var(--stone-800); }
.wrap { max-width:1200px; margin:0 auto; padding:0 1rem; }
@media (min-width:640px){ .wrap { padding:0 1.5rem; } }

/* ---------- 中文排版根治：消除孤字 / 拆词 / 难看断行 ----------
   pretty  = 正文段避免段末孤字、优化断点（对任意长度鲁棒，正文首选）；
   balance = 仅用于短标题/副标题，各行长度均衡。
   不支持的浏览器自动降级为默认换行。 */
h1, h2, h3,
.irma-hero .lead, .ph-lead, .section-sub,
.std-card h3, .principle-card h3 {
  text-wrap: balance;
}
p, li,
.irma-hero .desc, .ph-intent,
.std-card p, .principle-card .p-intent,
.ch-obj, .lv-desc, .mc-body, .info-card p,
.term-item .term-def, .gl-def,
.ch-intro, .req-list span, .xref-table td, .criterion-head .cr-title {
  text-wrap: pretty;
}

/* ---------- Hero ---------- */
.irma-hero {
  background:linear-gradient(135deg,var(--ochre-50) 0%,var(--ochre-100) 100%);
  padding:3rem 0 2.25rem; border-bottom:1px solid var(--ochre-200);
}
.irma-hero h1 { margin:0 0 .5rem; font-size:2rem; font-weight:700; color:var(--stone-800); }
.irma-hero .lead { font-size:1.1rem; color:var(--stone-700); margin-bottom:.5rem; }
.irma-hero .desc { font-size:.88rem; color:var(--stone-600); line-height:1.7; }
.irma-badge {
  display:inline-flex; align-items:center; gap:6px; background:var(--ochre-600); color:#fff;
  border-radius:20px; padding:4px 14px; font-size:.78rem; margin-bottom:1rem; font-weight:500;
}
.irma-badge .dot { width:8px; height:8px; border-radius:50%; background:#86efac; }
.irma-cta-group { display:flex; gap:12px; margin-top:1.25rem; flex-wrap:wrap; }
.btn { display:inline-block; padding:.6rem 1.4rem; border-radius:var(--radius-md); font-weight:600; font-size:.92rem; text-decoration:none; transition:background .15s, transform .1s; }
.btn-primary { background:var(--ochre-600); color:#fff; }
.btn-primary:hover { background:var(--ochre-700); color:#fff; transform:translateY(-1px); }
.btn-ghost { border:1.5px solid var(--ochre-300); color:var(--ochre-700); background:#fff; }
.btn-ghost:hover { background:var(--ochre-50); }

/* ---------- 两大标准入口（核心：并列、互不从属） ---------- */
.irma-standards { padding:2.25rem 0 1rem; }
.irma-standards-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; }
@media (max-width:760px){ .irma-standards-grid { grid-template-columns:1fr; } }
.std-card {
  position:relative; background:#fff; border:1px solid var(--stone-200); border-radius:var(--radius-lg);
  padding:1.5rem 1.5rem 1.35rem; overflow:hidden; transition:transform .15s, box-shadow .15s;
}
.std-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }
.std-card::before { content:''; position:absolute; left:0; top:0; bottom:0; width:5px; }
.std-card.std-a::before { background:var(--ochre-600); }
.std-card.std-b::before { background:var(--stone-600); }
.std-tag { display:inline-block; font-size:.7rem; font-weight:700; letter-spacing:.04em; padding:2px 9px; border-radius:4px; margin-bottom:.65rem; }
.std-a .std-tag { background:var(--ochre-100); color:var(--ochre-700); }
.std-b .std-tag { background:var(--stone-100); color:var(--stone-700); }
.std-card h3 { font-size:1.18rem; color:var(--stone-900); margin:0 0 .15rem; }
.std-card .std-en { font-size:.76rem; color:var(--stone-400); margin-bottom:.7rem; }
.std-card p { font-size:.86rem; color:var(--stone-600); line-height:1.65; margin:0 0 1.1rem; }
.std-links { display:flex; gap:.5rem; flex-wrap:wrap; }
.std-link { font-size:.82rem; padding:.42rem .9rem; border-radius:var(--radius-sm); text-decoration:none; font-weight:600; transition:background .15s; }
.std-a .std-link { background:var(--ochre-600); color:#fff; }
.std-a .std-link:hover { background:var(--ochre-700); }
.std-a .std-link.ghost { background:var(--ochre-50); color:var(--ochre-700); }
.std-a .std-link.ghost:hover { background:var(--ochre-100); }
.std-b .std-link { background:var(--stone-700); color:#fff; }
.std-b .std-link:hover { background:var(--stone-800); }

/* ---------- 多方治理条 ---------- */
.irma-gov { background:var(--stone-800); color:var(--stone-100); padding:.85rem 0; }
.irma-gov-inner { display:flex; align-items:center; justify-content:center; gap:.65rem 1.1rem; flex-wrap:wrap; font-size:.84rem; }
.irma-gov .gov-label { font-weight:700; color:#fff; }
.irma-gov .gov-item { display:inline-flex; align-items:center; gap:.35rem; color:var(--stone-200); }
.irma-gov .gov-sep { color:var(--stone-500); }

/* ---------- Stats strip ---------- */
.irma-stats { display:grid; grid-template-columns:repeat(5,1fr); gap:1rem; padding:1.5rem 0; border-bottom:1px solid var(--stone-200); }
@media (max-width:768px){ .irma-stats { grid-template-columns:repeat(3,1fr); } }
@media (max-width:480px){ .irma-stats { grid-template-columns:repeat(2,1fr); } }
.irma-stat { text-align:center; }
.irma-stat .stat-num { font-size:2rem; font-weight:700; color:var(--ochre-600); line-height:1.1; }
.irma-stat .stat-label { font-size:.82rem; color:var(--stone-600); margin-top:.15rem; }

/* ---------- 通用区块标题 ---------- */
.section { padding:2.5rem 0; }
.section.alt { background:var(--surface,#fafaf9); }
.section-h2 { text-align:center; margin:0 0 .3rem; font-size:1.5rem; color:var(--stone-900); }
.section-sub { text-align:center; color:var(--stone-600); margin:0 auto 2rem; font-size:.92rem; max-width:640px; }

/* ---------- 4 大原则卡 ---------- */
.irma-principle-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
@media (max-width:760px){ .irma-principle-grid { grid-template-columns:1fr; } }
.principle-card {
  display:block; text-decoration:none; background:#fff; border:1px solid var(--stone-200);
  border-left-width:4px; border-radius:var(--radius-md); padding:1.25rem 1.4rem;
  transition:transform .15s, box-shadow .15s; color:inherit;
}
.principle-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }
.principle-card.p1 { border-left-color:var(--p1); }
.principle-card.p2 { border-left-color:var(--p2); }
.principle-card.p3 { border-left-color:var(--p3); }
.principle-card.p4 { border-left-color:var(--p4); }
.principle-card .p-head { display:flex; align-items:center; gap:.7rem; margin-bottom:.55rem; }
.principle-card .p-num { width:30px; height:30px; line-height:30px; text-align:center; border-radius:50%; font-weight:700; font-size:.9rem; color:#fff; flex-shrink:0; }
.principle-card.p1 .p-num { background:var(--p1); }
.principle-card.p2 .p-num { background:var(--p2); }
.principle-card.p3 .p-num { background:var(--p3); }
.principle-card.p4 .p-num { background:var(--p4); }
.principle-card h3 { font-size:1.05rem; color:var(--stone-900); margin:0; flex:1; }
.principle-card .p-count { font-size:.74rem; color:var(--stone-500); background:var(--stone-100); padding:2px 9px; border-radius:10px; white-space:nowrap; }
.principle-card .p-intent { font-size:.85rem; color:var(--stone-600); line-height:1.6; margin:0 0 .65rem; }
.principle-card .p-foot { display:flex; align-items:center; justify-content:space-between; font-size:.78rem; color:var(--stone-500); }
.principle-card .p-arrow { color:var(--ochre-600); font-weight:600; }

/* ---------- 成就等级阶梯 ---------- */
.level-ladder { display:grid; grid-template-columns:repeat(4,1fr); gap:.75rem; }
@media (max-width:680px){ .level-ladder { grid-template-columns:repeat(2,1fr); } }
.level-step { background:#fff; border:1px solid var(--stone-200); border-top:4px solid; border-radius:var(--radius-md); padding:1.15rem 1rem; text-align:center; }
.level-step.lv-t  { border-top-color:var(--lv-t); }
.level-step.lv-50 { border-top-color:var(--lv-50); }
.level-step.lv-75 { border-top-color:var(--lv-75); }
.level-step.lv-100{ border-top-color:var(--lv-100); }
.level-step .lv-name { font-weight:700; color:var(--stone-800); font-size:1.02rem; margin-bottom:.35rem; }
.level-step .lv-pct  { font-size:.74rem; color:var(--stone-400); margin-bottom:.45rem; }
.level-step .lv-desc { font-size:.79rem; color:var(--stone-600); line-height:1.55; }
.level-note { text-align:center; margin-top:1.1rem; font-size:.82rem; color:var(--stone-500); }
.level-note .crit { color:var(--flag); font-weight:600; }

/* ---------- 适用范围框 ---------- */
.scope-box { background:#fff; border:1px solid var(--stone-200); border-radius:var(--radius-lg); padding:1.5rem 1.75rem; display:grid; grid-template-columns:1fr 1fr; gap:1.5rem 2rem; }
@media (max-width:680px){ .scope-box { grid-template-columns:1fr; } }
.scope-col h4 { font-size:.92rem; margin:0 0 .6rem; }
.scope-col.yes h4 { color:#15803d; }
.scope-col.no  h4 { color:var(--flag); }
.scope-list { list-style:none; padding:0; margin:0; }
.scope-list li { font-size:.85rem; color:var(--stone-600); padding:.32rem 0 .32rem 1.6rem; position:relative; line-height:1.55; }
.scope-list.yes li::before { content:'✅'; position:absolute; left:0; }
.scope-list.no  li::before { content:'❌'; position:absolute; left:0; }
.scope-list a { color:var(--ochre-700); }

/* ---------- 术语预览 ---------- */
.terms-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:1.5rem; }
.terms-head h2 { font-size:1.5rem; color:var(--stone-900); margin:0 0 .15rem; }
.terms-head p { font-size:.9rem; color:var(--stone-600); margin:0; }
.terms-head a { color:var(--ochre-700); font-size:.9rem; text-decoration:none; font-weight:500; white-space:nowrap; }
.terms-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:.75rem; }
.term-item { background:#fff; border:1px solid var(--stone-200); border-radius:var(--radius-md); padding:.9rem 1rem; }
.term-item .t-top { margin-bottom:.35rem; }
.term-item .term-en { font-weight:600; color:var(--stone-900); font-size:.9rem; margin-right:.5rem; }
.term-item .term-cn { color:var(--stone-500); font-size:.82rem; }
.term-item .term-def { font-size:.8rem; color:var(--stone-600); line-height:1.55; }

/* ---------- flag 标记（通用） ---------- */
.flag-tag { display:inline-flex; align-items:center; gap:3px; font-size:.68rem; font-weight:600; color:var(--flag); background:var(--flag-bg); border:1px solid var(--flag-border); padding:1px 7px; border-radius:10px; }

/* ---------- CTA box + 免责声明 ---------- */
.irma-cta-box { background:linear-gradient(135deg,var(--stone-800),var(--stone-600)); border-radius:var(--radius-lg); padding:1.75rem 2rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin:2.5rem 0 1rem; }
.irma-cta-box p { color:#fff; font-size:1rem; margin:0; }
.irma-cta-box .cta-actions { display:flex; gap:.75rem; flex-wrap:wrap; }
.irma-cta-primary { background:var(--ochre-500); color:#fff; padding:.6rem 1.3rem; border-radius:var(--radius-md); text-decoration:none; font-weight:600; font-size:.9rem; }
.irma-cta-primary:hover { background:var(--ochre-600); }
.irma-cta-secondary { background:rgba(255,255,255,.12); color:#fff; padding:.6rem 1.3rem; border-radius:var(--radius-md); text-decoration:none; font-weight:600; font-size:.9rem; border:1px solid rgba(255,255,255,.3); }
.irma-cta-secondary:hover { background:rgba(255,255,255,.2); }
.irma-disclaimer { font-size:.8rem; color:var(--stone-500); text-align:center; padding:.5rem 0 2.5rem; }
.irma-disclaimer a { color:var(--ochre-700); }

/* ============================================================
   原则页 / 章详情页（追加）
   ============================================================ */

/* ---------- 面包屑 ---------- */
.crumb { font-size:.8rem; color:var(--stone-500); padding:1rem 0 0; }
.crumb a { color:var(--ochre-700); text-decoration:none; }
.crumb a:hover { text-decoration:underline; }
.crumb .sep { margin:0 .4rem; color:var(--stone-300); }

/* ---------- 原则页头部 ---------- */
.principle-hero { padding:1.25rem 0 1.75rem; border-bottom:1px solid var(--stone-200); }
.principle-hero .ph-eyebrow { font-size:.8rem; font-weight:700; letter-spacing:.05em; }
.principle-hero.p1 .ph-eyebrow { color:var(--p1); }
.principle-hero.p2 .ph-eyebrow { color:var(--p2); }
.principle-hero.p3 .ph-eyebrow { color:var(--p3); }
.principle-hero.p4 .ph-eyebrow { color:var(--p4); }
.principle-hero h1 { font-size:1.9rem; color:var(--stone-900); margin:.3rem 0 .6rem; }
.principle-hero .ph-intent { font-size:.95rem; color:var(--stone-600); line-height:1.7; }
.principle-hero .ph-meta { margin-top:.9rem; font-size:.82rem; color:var(--stone-500); display:flex; gap:1.25rem; flex-wrap:wrap; }
.principle-hero .ph-meta b { color:var(--stone-700); }

/* ---------- 章卡网格 ---------- */
.chapter-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; padding:1.75rem 0 .5rem; }
@media (max-width:760px){ .chapter-grid { grid-template-columns:1fr; } }
.chapter-card { display:block; text-decoration:none; color:inherit; background:#fff; border:1px solid var(--stone-200); border-radius:var(--radius-md); padding:1.2rem 1.35rem; transition:transform .15s, box-shadow .15s, border-color .15s; }
.chapter-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); border-color:var(--ochre-300); }
.chapter-card .ch-head { display:flex; align-items:baseline; gap:.6rem; margin-bottom:.15rem; }
.chapter-card .ch-id { font-family:'SF Mono','Fira Code',monospace; font-weight:700; font-size:.8rem; color:var(--ochre-700); background:var(--ochre-50); padding:2px 8px; border-radius:6px; }
.chapter-card h3 { font-size:1rem; color:var(--stone-900); margin:0; flex:1; }
.chapter-card .ch-en { font-size:.76rem; color:var(--stone-400); margin:0 0 .55rem; }
.chapter-card .ch-obj { font-size:.83rem; color:var(--stone-600); line-height:1.6; margin:0 0 .7rem; }
.chapter-card .ch-foot { display:flex; align-items:center; justify-content:space-between; font-size:.78rem; color:var(--stone-500); }
.chapter-card .ch-foot .go { color:var(--ochre-600); font-weight:600; }

/* ---------- 原则间导航 ---------- */
.pnav { display:flex; justify-content:space-between; gap:1rem; padding:1.5rem 0 2.5rem; border-top:1px solid var(--stone-200); margin-top:.5rem; }
.pnav a { font-size:.85rem; color:var(--ochre-700); text-decoration:none; font-weight:600; }
.pnav a:hover { text-decoration:underline; }
.pnav .disabled { color:var(--stone-300); }

/* ============================================================
   章详情页（追加）
   ============================================================ */
.chapter-hero { padding:1.25rem 0 1.5rem; border-bottom:1px solid var(--stone-200); }
.chapter-hero .ch-id-big { font-family:'SF Mono','Fira Code',monospace; font-size:.85rem; font-weight:700; color:var(--ochre-700); }
.chapter-hero h1 { font-size:1.85rem; color:var(--stone-900); margin:.3rem 0 .2rem; }
.chapter-hero .ch-en-big { font-size:.9rem; color:var(--stone-400); margin-bottom:.6rem; }
.chapter-hero .ch-noflag { display:inline-flex; align-items:center; gap:4px; font-size:.72rem; color:#15803d; background:#f0fdf4; border:1px solid #bbf7d0; padding:2px 9px; border-radius:10px; }

.ch-section { padding:1.6rem 0; border-bottom:1px solid var(--stone-100); }
.ch-block-title { font-size:1.05rem; color:var(--stone-900); font-weight:700; margin:0 0 .85rem; display:flex; align-items:center; gap:.5rem; }
.ch-block-title::before { content:''; width:4px; height:1rem; background:var(--ochre-500); border-radius:2px; }
.ch-intro { background:var(--ochre-50); border:1px solid var(--ochre-100); border-radius:var(--radius-md); padding:1.1rem 1.3rem; font-size:.9rem; color:var(--stone-700); line-height:1.75; }
.ch-meta-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1rem; }
@media (max-width:640px){ .ch-meta-row { grid-template-columns:1fr; } }
.ch-meta-card { background:#fff; border:1px solid var(--stone-200); border-radius:var(--radius-md); padding:.9rem 1.1rem; }
.ch-meta-card .mc-label { font-size:.72rem; font-weight:700; color:var(--stone-400); letter-spacing:.04em; margin-bottom:.3rem; }
.ch-meta-card .mc-body { font-size:.86rem; color:var(--stone-700); line-height:1.6; }

/* 准则 + 要求 */
.crit-legend { font-size:.78rem; color:var(--stone-500); margin:0 0 1rem; display:flex; align-items:center; gap:.45rem; line-height:1.5; }
.crit-dot { width:9px; height:9px; border-radius:50%; background:var(--flag); display:inline-block; flex-shrink:0; }
.criteria { display:flex; flex-direction:column; gap:1rem; }
.criterion { background:#fff; border:1px solid var(--stone-200); border-radius:var(--radius-md); overflow:hidden; }
.criterion-head { display:flex; align-items:baseline; gap:.6rem; padding:.8rem 1.15rem; background:var(--stone-50); border-bottom:1px solid var(--stone-200); }
.criterion-head .cr-id { font-family:'SF Mono','Fira Code',monospace; font-weight:700; font-size:.78rem; color:var(--stone-700); }
.criterion-head .cr-title { font-size:.92rem; font-weight:600; color:var(--stone-900); }
.req-list { list-style:none; margin:0; padding:.35rem 0; }
.req-list li { display:flex; gap:.7rem; padding:.55rem 1.15rem; font-size:.85rem; color:var(--stone-700); line-height:1.6; }
.req-list li + li { border-top:1px solid var(--stone-100); }
.req-list .req-id { font-family:'SF Mono','Fira Code',monospace; font-size:.74rem; color:var(--stone-400); font-weight:600; white-space:nowrap; padding-top:.1rem; }
.req-list .req-critical .req-id { color:var(--flag); }
.req-badge-crit { display:inline-block; font-size:.62rem; font-weight:700; color:var(--flag); background:var(--flag-bg); border:1px solid var(--flag-border); padding:0 5px; border-radius:6px; margin-left:.4rem; vertical-align:middle; }
/* 准则紧凑列表：只列准则要点，要求不逐条铺开 */
.criteria-compact { display:flex; flex-direction:column; gap:.5rem; }
.criterion-row { display:flex; align-items:baseline; gap:.7rem; background:#fff; border:1px solid var(--stone-200); border-radius:var(--radius-md); padding:.7rem 1.15rem; }
.criterion-row .cr-id { font-family:'SF Mono','Fira Code',monospace; font-weight:700; font-size:.78rem; color:var(--ochre-700); white-space:nowrap; }
.criterion-row .cr-title { font-size:.92rem; font-weight:600; color:var(--stone-900); flex:1; }
.criterion-row .cr-count { font-size:.74rem; color:var(--stone-400); white-space:nowrap; }

/* 交叉引用 + 术语 */
.xref-table { width:100%; border-collapse:collapse; font-size:.84rem; }
.xref-table td { padding:.6rem .9rem; border-bottom:1px solid var(--stone-200); vertical-align:top; color:var(--stone-600); line-height:1.55; }
.xref-table td:first-child { white-space:nowrap; font-weight:600; }
.xref-table td:first-child a { color:var(--ochre-700); text-decoration:none; }
.term-chips { display:flex; gap:.5rem; flex-wrap:wrap; }
.term-chip { font-size:.8rem; color:var(--stone-700); background:#fff; border:1px solid var(--stone-200); border-radius:20px; padding:.3rem .9rem; text-decoration:none; transition:all .15s; }
.term-chip:hover { border-color:var(--ochre-300); background:var(--ochre-50); color:var(--ochre-700); }
.official-link { display:inline-flex; align-items:center; gap:.4rem; margin-top:.25rem; font-size:.85rem; color:var(--ochre-700); text-decoration:none; font-weight:600; }

/* ============================================================
   成就等级页 / 监管链页（追加）
   ============================================================ */
.page-hero { padding:1.25rem 0 1.5rem; border-bottom:1px solid var(--stone-200); }
.page-hero .ph-tag { display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.04em; padding:2px 9px; border-radius:4px; margin-bottom:.5rem; }
.page-hero.tag-a .ph-tag { background:var(--ochre-100); color:var(--ochre-700); }
.page-hero.tag-b .ph-tag { background:var(--stone-100); color:var(--stone-700); }
.page-hero h1 { font-size:1.9rem; color:var(--stone-900); margin:.2rem 0 .5rem; }
.page-hero .ph-lead { font-size:.95rem; color:var(--stone-600); line-height:1.7; }

.info-card { background:#fff; border:1px solid var(--stone-200); border-radius:var(--radius-md); padding:1.2rem 1.4rem; }
.info-card h3 { font-size:1rem; color:var(--stone-900); margin:0 0 .5rem; display:flex; align-items:center; gap:.5rem; }
.info-card p { font-size:.87rem; color:var(--stone-600); line-height:1.7; margin:0; }
.info-card p + p { margin-top:.6rem; }
.info-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
@media (max-width:680px){ .info-grid { grid-template-columns:1fr; } }

.level-ladder-lg .level-step { padding:1.4rem 1.15rem; }
.level-ladder-lg .lv-name { font-size:1.1rem; }

/* 对比表 */
.cmp-table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.cmp-table { width:100%; min-width:680px; border-collapse:collapse; font-size:.83rem; background:#fff; }
.cmp-table th { background:var(--stone-700); color:#fff; padding:.7rem .8rem; text-align:left; font-weight:600; font-size:.78rem; }
.cmp-table th:first-child { background:var(--stone-800); position:sticky; left:0; }
.cmp-table td { padding:.65rem .8rem; border-bottom:1px solid var(--stone-200); border-right:1px solid var(--stone-100); vertical-align:top; color:var(--stone-700); line-height:1.55; }
.cmp-table tr:last-child td { border-bottom:none; }
.cmp-table td:first-child { font-weight:600; color:var(--stone-900); background:var(--stone-50); }
.cmp-table tr:hover td { background:var(--ochre-50); }
.cmp-yes { color:#15803d; font-weight:700; }
.cmp-no { color:var(--flag); font-weight:700; }
.cmp-partial { color:#d97706; font-weight:700; }

/* ============================================================
   简版自查页 self-check（追加）
   ============================================================ */
.sc-bar { position:sticky; top:0; z-index:30; background:rgba(255,255,255,.96); backdrop-filter:blur(6px); border-bottom:1px solid var(--stone-200); padding:.7rem 0; }
.sc-bar-inner { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.sc-score { font-size:1.5rem; font-weight:700; color:var(--ochre-600); line-height:1; }
.sc-score small { font-size:.8rem; color:var(--stone-400); font-weight:500; }
.sc-score-label { font-size:.72rem; color:var(--stone-500); margin-top:.1rem; }
.sc-track { flex:1; min-width:140px; height:.55rem; background:var(--stone-200); border-radius:999px; overflow:hidden; }
.sc-fill { height:100%; width:0; background:linear-gradient(90deg,var(--ochre-400),var(--ochre-600)); transition:width .3s; }
.sc-tally { font-size:.76rem; color:var(--stone-500); display:flex; gap:.7rem; flex-wrap:wrap; }
.sc-tally b { font-weight:700; }
.sc-reset { font-size:.78rem; color:var(--stone-500); background:none; border:1px solid var(--stone-300); border-radius:var(--radius-sm); padding:.4rem .85rem; cursor:pointer; }
.sc-reset:hover { background:var(--stone-50); color:var(--stone-700); }
.sc-privacy { background:#eff6ff; border:1px solid #bfdbfe; border-radius:var(--radius-md); padding:.8rem 1rem; color:#1e3a8a; font-size:.82rem; margin:1.25rem 0; line-height:1.6; }
.sc-group { margin-bottom:1.5rem; }
.sc-group-head { display:flex; align-items:center; gap:.6rem; margin-bottom:.65rem; }
.sc-group-num { width:26px; height:26px; line-height:26px; text-align:center; border-radius:50%; color:#fff; font-weight:700; font-size:.82rem; flex-shrink:0; }
.sc-group.p1 .sc-group-num{background:var(--p1);} .sc-group.p2 .sc-group-num{background:var(--p2);}
.sc-group.p3 .sc-group-num{background:var(--p3);} .sc-group.p4 .sc-group-num{background:var(--p4);}
.sc-group-title { font-size:1.05rem; font-weight:600; color:var(--stone-900); }
.sc-group-rate { margin-left:auto; font-size:.78rem; color:var(--stone-500); }
.sc-row { display:flex; align-items:center; gap:.75rem; padding:.65rem 1rem; background:#fff; border:1px solid var(--stone-200); border-radius:var(--radius-md); margin-bottom:.5rem; }
.sc-row .sc-ch-id { font-family:'SF Mono','Fira Code',monospace; font-size:.74rem; font-weight:700; color:var(--ochre-700); background:var(--ochre-50); padding:2px 7px; border-radius:5px; white-space:nowrap; }
.sc-row .sc-ch-name { font-size:.88rem; color:var(--stone-800); flex:1; }
.sc-row .sc-flag { font-size:.6rem; color:var(--flag); background:var(--flag-bg); border:1px solid var(--flag-border); padding:0 5px; border-radius:6px; margin-left:.35rem; }
.sc-opts { display:flex; gap:.3rem; flex-wrap:wrap; }
.sc-opt { cursor:pointer; }
.sc-opt input { position:absolute; opacity:0; pointer-events:none; }
.sc-opt span { display:inline-block; padding:.3rem .7rem; border:1px solid var(--stone-300); border-radius:var(--radius-sm); font-size:.77rem; color:var(--stone-600); background:#fff; transition:all .12s; user-select:none; }
.sc-opt:hover span { border-color:var(--stone-400); }
.sc-opt input:checked + span.o-yes { background:#dcfce7; color:#16a34a; border-color:#16a34a; }
.sc-opt input:checked + span.o-partial { background:#fef3c7; color:#d97706; border-color:#d97706; }
.sc-opt input:checked + span.o-no { background:#fee2e2; color:#dc2626; border-color:#dc2626; }
.sc-opt input:checked + span.o-na { background:var(--stone-100); color:var(--stone-500); border-color:var(--stone-400); }
@media (max-width:640px){ .sc-row { flex-wrap:wrap; } .sc-opts { width:100%; } }

/* ============================================================
   术语表 glossary（追加）
   ============================================================ */
.gl-controls { position:sticky; top:0; z-index:20; background:rgba(255,255,255,.96); backdrop-filter:blur(6px); padding:1rem 0; border-bottom:1px solid var(--stone-200); }
.gl-search { width:100%; padding:.65rem 1rem; border:1px solid var(--stone-300); border-radius:var(--radius-md); font-size:.9rem; font-family:inherit; }
.gl-search:focus { outline:none; border-color:var(--ochre-400); box-shadow:0 0 0 3px var(--ochre-50); }
.gl-filters { display:flex; gap:.5rem; flex-wrap:wrap; margin-top:.7rem; }
.gl-filter { font-size:.78rem; padding:.32rem .85rem; border:1px solid var(--stone-300); border-radius:20px; background:#fff; color:var(--stone-600); cursor:pointer; transition:all .12s; }
.gl-filter:hover { border-color:var(--ochre-300); }
.gl-filter.active { background:var(--ochre-600); color:#fff; border-color:var(--ochre-600); }
.gl-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:.85rem; padding-top:1.5rem; }
.gl-card { background:#fff; border:1px solid var(--stone-200); border-radius:var(--radius-md); padding:1rem 1.2rem; scroll-margin-top:130px; }
.gl-card .gl-top { display:flex; align-items:baseline; justify-content:space-between; gap:.5rem; margin-bottom:.15rem; }
.gl-card .gl-en { font-weight:700; color:var(--stone-900); font-size:.95rem; }
.gl-card .gl-cn { color:var(--stone-500); font-size:.82rem; margin-bottom:.45rem; }
.gl-card .gl-cat { font-size:.63rem; font-weight:600; padding:1px 7px; border-radius:8px; white-space:nowrap; }
.gl-cat-gov{background:var(--p1-bg);color:var(--p1);} .gl-cat-social{background:var(--p3-bg);color:var(--p3);}
.gl-cat-env{background:var(--p4-bg);color:var(--p4);} .gl-cat-cert{background:var(--ochre-50);color:var(--ochre-700);}
.gl-cat-general{background:var(--stone-100);color:var(--stone-600);}
.gl-card .gl-def { font-size:.83rem; color:var(--stone-600); line-height:1.6; }
.gl-card { transition:border-color .35s ease, box-shadow .35s ease; }
.gl-card.gl-hit { border-color:var(--ochre-300); box-shadow:0 0 0 3px var(--ochre-50); }
.gl-empty { text-align:center; color:var(--stone-400); padding:2.5rem; font-size:.9rem; grid-column:1/-1; }

/* ============================================================
   同类页面横向子导航 subnav（追加）—— 解决"同类页面互联"
   ============================================================ */
.subnav { display:flex; gap:.4rem; flex-wrap:wrap; align-items:center; padding:.85rem 0; border-bottom:1px solid var(--stone-200); }
.subnav .sn-label { font-size:.72rem; color:var(--stone-400); font-weight:700; margin-right:.3rem; }
.subnav a { font-size:.82rem; padding:.38rem .85rem; border-radius:20px; text-decoration:none; color:var(--stone-600); border:1px solid var(--stone-200); background:#fff; transition:all .12s; }
.subnav a:hover { border-color:var(--ochre-300); color:var(--ochre-700); }
.subnav a.active { background:var(--ochre-600); color:#fff; border-color:var(--ochre-600); }
.subnav.b a:hover { border-color:var(--stone-400); color:var(--stone-800); }
.subnav.b a.active { background:var(--stone-700); color:#fff; border-color:var(--stone-700); }

/* 监管链：供应链适用环节链 */
.coc-chain { display:flex; flex-wrap:wrap; gap:.4rem; align-items:center; }
.coc-chain .node { font-size:.8rem; padding:.4rem .8rem; background:#fff; border:1px solid var(--stone-200); border-radius:var(--radius-sm); color:var(--stone-700); }
.coc-chain .node.mine { background:var(--ochre-50); border-color:var(--ochre-200); color:var(--ochre-700); font-weight:600; }
.coc-chain .arr { color:var(--stone-300); font-weight:700; }

/* 标准类型对照小卡 */
.type-card { border:1px solid var(--stone-200); border-radius:var(--radius-md); padding:1rem 1.2rem; background:#fff; }
.type-card.a { border-top:3px solid var(--ochre-600); }
.type-card.b { border-top:3px solid var(--stone-600); }
.type-card .tc-k { font-size:.72rem; font-weight:700; color:var(--stone-400); margin-bottom:.3rem; }
.type-card .tc-name { font-size:.95rem; font-weight:600; color:var(--stone-900); margin-bottom:.4rem; }
.type-card p { font-size:.83rem; color:var(--stone-600); line-height:1.6; margin:0; }
