:root{
  --ink:#1B2733; --ink2:#3C4A59; --steel:#1F3A5F; --steel2:#2E5077; --steel3:#5B7A99;
  --bg:#F4F6F8; --paper:#FFFFFF; --line:#DDE3E9; --line2:#C9D3DD;
  --amber:#D98E2B; --amberbg:#FBF3E4;
  --p0:#B23A32; --p0bg:#FBEAE8;
  --p1:#C07A1E; --p1bg:#FBF0DC;
  --p2:#5B7A99; --p2bg:#E9EEF4;
  --ok:#2E7D5B; --okbg:#E7F3ED;
  --mono:Consolas,"SFMono-Regular",monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Segoe UI","Microsoft YaHei","PingFang SC","Hiragino Sans GB",Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.7;font-size:15px}
a{color:var(--steel2);text-decoration:none;word-break:break-all}
a:hover{text-decoration:underline}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}

/* ===== 顶部粘性导航 ===== */
.topnav{position:sticky;top:0;z-index:100;background:var(--steel);color:#fff;box-shadow:0 2px 8px rgba(20,40,60,.25)}
.topnav .in{display:flex;align-items:center;gap:10px;height:52px;overflow-x:auto;white-space:nowrap;max-width:1320px;margin:0 auto;padding:0 20px}
.topnav .brand{font-weight:700;font-size:13px;color:#fff;margin-right:14px;flex:none}
.topnav a{color:#CFDCEA;font-size:12.5px;flex:none;padding:4px 8px;border-radius:4px}
.topnav a:hover{background:rgba(255,255,255,.12);text-decoration:none;color:#fff}

/* ===== 封面 ===== */
.cover{background:linear-gradient(160deg,#16293F 0%,#1F3A5F 55%,#2E5077 100%);color:#fff;padding:72px 0 56px}
.cover .kicker{font-size:13px;letter-spacing:.18em;color:#E8B96B;text-transform:uppercase;margin-bottom:18px}
.cover h1{font-size:34px;line-height:1.35;font-weight:700;max-width:900px}
.cover .sub{margin-top:18px;font-size:15px;color:#D7E1EC}
.cover .meta{margin-top:28px;display:flex;flex-wrap:wrap;gap:10px}
.cover .meta span{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:4px;padding:6px 12px;font-size:13px}
.cover .toc{margin-top:36px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:18px 22px}
.cover .toc b{font-size:13px;color:#E8B96B;display:block;margin-bottom:8px;letter-spacing:.1em}
.cover .toc ol{columns:2;column-gap:36px;padding-left:20px;font-size:13px}
.cover .toc li{margin:3px 0}
.cover .toc a{color:#E4ECF4}

/* ===== 章节通用 ===== */
section{padding:44px 0 8px}
.sec-head{border-left:5px solid var(--amber);padding-left:14px;margin-bottom:20px}
.sec-head .no{font-size:12px;color:var(--p2);font-weight:700;letter-spacing:.12em}
.sec-head h2{font-size:24px;color:var(--steel);margin-top:2px}
.sec-head p.desc{font-size:13.5px;color:var(--ink2);margin-top:6px;max-width:900px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:20px 22px;margin:16px 0}
.card h3{font-size:17px;color:var(--steel);margin-bottom:10px}
.card h4{font-size:14.5px;color:var(--steel2);margin:14px 0 6px}
p{margin:8px 0}
.small{font-size:12.5px;color:var(--ink2)}
ul.tight{padding-left:20px;margin:8px 0}
ul.tight li{margin:5px 0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}

/* ===== 徽章 ===== */
.badge{display:inline-block;font-size:11.5px;font-weight:700;border-radius:3px;padding:1px 8px;white-space:nowrap}
.b-p0{background:var(--p0bg);color:var(--p0);border:1px solid var(--p0)}
.b-p1{background:var(--p1bg);color:var(--p1);border:1px solid var(--p1)}
.b-p2{background:var(--p2bg);color:var(--p2);border:1px solid var(--p2)}
.b-ok{background:var(--okbg);color:var(--ok);border:1px solid var(--ok)}
.b-mid{background:var(--amberbg);color:var(--p1);border:1px solid var(--amber)}
.b-wait{background:#EEE;border-color:#999;color:#555;border:1px solid #999}
.b-l{font-size:11px;font-weight:600;color:var(--steel2);background:#EDF1F5;border-radius:3px;padding:1px 6px;margin:1px;display:inline-block}

/* ===== 数据表 ===== */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line2);border-radius:8px;background:var(--paper);margin:14px 0}
table{border-collapse:collapse;width:100%;font-size:13px}
th,td{border-bottom:1px solid var(--line);padding:8px 10px;vertical-align:top;text-align:left;word-break:break-word;overflow-wrap:break-word}
thead th{background:var(--steel);color:#fff;font-weight:600;font-size:12.5px;position:sticky;top:52px;z-index:5}
tbody tr:nth-child(even){background:#F8FAFB}
tbody tr:hover{background:var(--amberbg)}
.score-tbl td.num{text-align:center;font-weight:600;font-variant-numeric:tabular-nums}
.bar{height:8px;border-radius:4px;background:var(--line);min-width:60px;display:inline-block;vertical-align:middle}
.bar i{display:block;height:100%;border-radius:4px;background:var(--steel3)}
.bar.b-p0-bar i{background:var(--p0)}
.bar.b-p1-bar i{background:var(--p1)}
.bar.b-p2-bar i{background:var(--p2)}

/* ===== 联系人大表 ===== */
.ct-wrap{overflow:auto;max-height:640px;border:1px solid var(--line2);border-radius:8px;background:var(--paper);margin:14px 0}
table.ct{table-layout:fixed;width:1500px;font-size:12.5px}
table.ct th{font-size:12px;background:var(--steel)}
table.ct td{line-height:1.55}
table.ct .nm{font-weight:700;color:var(--steel)}
table.ct .tgt{color:var(--p1);font-style:italic}

/* ===== 组织树 ===== */
.orgtree{margin:14px 0}
.org-root{background:var(--steel);color:#fff;border-radius:8px;padding:12px 18px;font-weight:700;text-align:center;max-width:520px;margin:0 auto}
.org-lvl{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:14px}
.org-node{background:var(--paper);border:1px solid var(--line2);border-top:3px solid var(--steel2);border-radius:6px;padding:8px 12px;font-size:12.5px;min-width:150px;max-width:230px}
.org-node b{display:block;color:var(--steel);font-size:12.5px}
.org-node.amber{border-top-color:var(--amber)}
.org-node .who{color:var(--ink2);font-size:11.5px;display:block;margin-top:2px}
.org-note{font-size:12.5px;color:var(--ink2);margin-top:10px;background:var(--amberbg);border:1px dashed var(--amber);border-radius:6px;padding:8px 12px}

/* ===== 时间轴 ===== */
.tl{display:grid;grid-template-columns:130px 26px 1fr;gap:0 0;margin:16px 0}
.tl .d{text-align:right;font-size:12.5px;font-weight:700;color:var(--steel);padding-top:14px}
.tl .ax{position:relative}
.tl .ax::before{content:"";position:absolute;left:calc(50% - 1px);top:0;bottom:-14px;width:2px;background:var(--line2)}
.tl .dot{position:absolute;left:50%;top:18px;width:12px;height:12px;border-radius:50%;background:var(--amber);transform:translateX(-50%);border:2px solid #fff;box-shadow:0 0 0 2px var(--amber)}
.tl .it{padding:6px 0 18px 12px}

/* ===== Reachout 条目 ===== */
.ro{background:var(--paper);border:1px solid var(--line);border-radius:8px;margin:16px 0;overflow:hidden}
.ro-hd{background:#EDF1F5;padding:12px 18px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.ro-hd b{color:var(--steel);font-size:15px}
.ro-body{padding:14px 18px}
.ro-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}
.ro-f{font-size:13px}
.ro-f .lb{font-size:11.5px;font-weight:700;color:var(--p2);letter-spacing:.05em;display:block;margin-bottom:2px}
.ro-en{background:#F2F5F8;border-left:3px solid var(--steel3);border-radius:0 6px 6px 0;padding:10px 14px;font-family:Georgia,"Times New Roman",serif;font-size:13px;line-height:1.65;color:#22303E;margin:6px 0;white-space:pre-wrap}
.ro-en.cr{border-left-color:var(--amber)}

/* ===== 风险/收尾卡片 ===== */
.risk{border-left:4px solid var(--p0)}
.qa{background:linear-gradient(150deg,#1F3A5F,#2E5077);color:#fff;border-radius:10px;padding:24px 28px;margin:16px 0}
.qa h3{color:#E8B96B;font-size:16px;margin-bottom:10px}
.qa ol{padding-left:22px}
.qa li{margin:8px 0;font-size:14px}
.qa b{color:#FFD9A0}

.footer{margin-top:48px;padding:24px 0 40px;border-top:1px solid var(--line2);font-size:12.5px;color:var(--ink2)}

@media (max-width:860px){
  .grid2,.grid3,.ro-grid{grid-template-columns:1fr}
  .cover h1{font-size:25px}
  .cover .toc ol{columns:1}
  .tl{grid-template-columns:92px 22px 1fr}
}
@media print{
  .topnav{display:none}
  body{background:#fff;font-size:12px}
  .card,.ro{break-inside:avoid}
  .ct-wrap{max-height:none;overflow:visible}
  section{padding:20px 0}
  a{color:var(--ink)}
}

/* ===== §23 资料下载 ===== */
.dl-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:14px}
@media (min-width:768px){.dl-grid{grid-template-columns:repeat(2,1fr)}}
.dl-card{display:flex;align-items:center;gap:12px;background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--amber);border-radius:8px;padding:14px;transition:border-color .15s,box-shadow .15s}
.dl-card:hover{border-color:var(--amber);box-shadow:0 2px 10px rgba(31,58,95,.08)}
.dl-ico{flex:0 0 auto;width:40px;height:40px;border-radius:8px;background:var(--amberbg);display:flex;align-items:center;justify-content:center;color:var(--amber)}
.dl-ico svg{width:22px;height:22px}
.dl-info{flex:1 1 auto;min-width:0}
.dl-name{font-weight:600;color:var(--ink);font-size:14px;line-height:1.45;word-break:break-all}
.dl-desc{color:var(--ink2);font-size:12.5px;line-height:1.5;margin-top:3px}
.dl-meta{font-family:var(--mono);font-size:11.5px;color:var(--steel3);margin-top:4px}
.dl-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;background:var(--steel);color:#fff;border-radius:6px;padding:9px 14px;font-size:13px;font-weight:600;text-decoration:none}
.dl-btn:hover{background:var(--steel2);color:#fff}
.dl-note{font-size:12.5px;color:var(--ink2);background:var(--okbg);border:1px solid #CBE3D5;border-radius:6px;padding:9px 12px;margin-top:14px;line-height:1.6}
@media print{.dl-card{break-inside:avoid}}
