
:root{--bg:#f4f6f9;--ink:#1a2332;--blue:#1f5fb0;--navy:#15355e;--line:#dde2ea;--lite:#eef3fa;--warn:#c0392b;--ok:#1e8449;--gray:#5a6b7d}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Microsoft YaHei","PingFang SC",-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);line-height:1.65;font-size:14px}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
.topbar{background:#fff;border-bottom:1px solid var(--line);padding:12px 20px;position:sticky;top:0;z-index:20}
.topbar .in{max-width:1000px;margin:0 auto;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.brand{font-size:16px;font-weight:800;color:var(--navy);white-space:nowrap}
.brand span{color:var(--blue)}
.searchbox{flex:1;min-width:220px;position:relative}
.searchbox input{width:100%;padding:8px 14px;border:1px solid var(--line);border-radius:20px;font-size:13px;outline:none;font-family:inherit}
.searchbox input:focus{border-color:var(--blue)}
.sres{position:absolute;top:42px;left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(21,53,94,.12);display:none;max-height:320px;overflow:auto;z-index:30}
.sres a{display:block;padding:9px 14px;border-bottom:1px solid #f0f3f7;font-size:13px;color:var(--ink)}
.sres a:last-child{border-bottom:none}
.sres a:hover{background:var(--lite);text-decoration:none}
.sres .sc{color:var(--blue);font-weight:700;margin-right:8px}
.wrap{max-width:1000px;margin:0 auto;padding:22px 20px 64px}
.crumb{font-size:12.5px;color:var(--gray);margin-bottom:14px}
.crumb a{color:var(--gray)}
h1.pt{font-size:21px;color:var(--navy);font-weight:800;margin-bottom:4px}
.meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:8px 0 4px}
.chip{display:inline-block;padding:2px 10px;border-radius:20px;font-size:12px;background:var(--lite);color:var(--blue);font-weight:700}
.chip.v{background:#e8f5ee;color:var(--ok)}
.chip.g{background:#f0f0f0;color:#777}
.trigger{background:#fff;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:8px;padding:10px 16px;font-size:13px;margin:12px 0 4px}
.trigger b{color:var(--navy)}
.sec{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin-top:14px}
.sec h2{font-size:15px;color:var(--blue);font-weight:800;margin-bottom:10px}
.sec h2 .n{display:inline-block;width:22px;height:22px;border-radius:50%;background:var(--blue);color:#fff;font-size:12.5px;text-align:center;line-height:22px;margin-right:8px;font-weight:700}
.steps{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}
.step{flex:1;min-width:150px;background:var(--lite);border:1px solid #d5e2f2;border-radius:8px;padding:10px 12px;font-size:12.5px;position:relative}
.step .sn{font-weight:800;color:var(--blue);margin-right:4px}
.step::after{content:"";position:absolute;right:-13px;top:50%;transform:translateY(-50%);border:5px solid transparent;border-left-color:#b8cce6}
.step:last-child::after{display:none}
.duty{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.duty .d{background:var(--lite);border-radius:8px;padding:10px 12px}
.duty .dt{font-size:11.5px;color:var(--gray);font-weight:700;margin-bottom:4px}
.duty .dd{font-size:12.5px;color:var(--ink)}
.kd{background:#fff5f4;border:1px solid #f3cecb;border-left:4px solid var(--warn);border-radius:8px;padding:10px 16px;font-size:13px;color:#8a2b1d;margin-top:12px}
.kd b{color:var(--warn)}
.note{font-size:13px;color:#44506b}
.forms{display:flex;flex-wrap:wrap;gap:8px}
.f{background:var(--lite);border:1px solid #d5e2f2;border-radius:6px;padding:3px 12px;font-size:12.5px;color:var(--navy);font-weight:700}
.sys{font-size:12.5px;color:var(--gray);margin-top:8px}
.rel{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.rel a{background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px 14px;font-size:12.5px}
.rel a b{color:var(--blue);margin-right:6px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.card h3{font-size:14px;color:var(--navy);font-weight:800;margin-bottom:8px}
.card h3 .c{color:var(--blue);margin-right:8px}
.card .tg{font-size:11.5px;color:var(--gray);margin-bottom:6px}
.card .one{font-size:12.5px;color:#44506b;margin-bottom:8px}
.card.dis{opacity:.55}
.card a.go{font-size:12.5px;font-weight:700}
.dept-hd{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;display:flex;gap:20px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.dept-hd .t{font-size:19px;font-weight:800;color:var(--navy)}
.dept-hd .s{font-size:12.5px;color:var(--gray);margin-top:2px}
.stat{display:flex;gap:20px;font-size:12.5px;color:var(--gray)}
.stat b{display:block;font-size:18px;color:var(--blue)}
details.pano{background:#fff;border:1px solid var(--line);border-radius:12px;margin-top:14px;overflow:hidden}
details.pano summary{padding:12px 18px;font-size:13.5px;font-weight:700;color:var(--blue);cursor:pointer}
details.pano .bd{padding:0 18px 16px}
details.pano svg{width:100%;height:auto}
.entry{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.entry .box{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px}
.entry .box h3{font-size:15px;color:var(--navy);font-weight:800;margin-bottom:2px}
.entry .box .sub{font-size:12px;color:var(--gray);margin-bottom:12px}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tags a{background:var(--lite);border:1px solid #d5e2f2;border-radius:8px;padding:5px 12px;font-size:12.5px;color:var(--navy)}
.tags span{background:#f0f0f0;border-radius:8px;padding:5px 12px;font-size:12.5px;color:#999}
.update{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 20px;margin-top:16px;font-size:13px}
.update b{color:var(--navy)}
footer{margin-top:40px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;color:#8894a6;line-height:1.8}
/* 主图点击 */
.svgmain svg{width:100%;height:auto}
.svgmain svg a.qlink{cursor:pointer}
.svgmain svg a.qlink:hover{opacity:.78}
/* 紧凑列表 */
.plist{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.plist a{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 16px;font-size:13.5px;color:var(--ink);flex-wrap:wrap}
.plist a:hover{border-color:var(--blue);text-decoration:none;background:#f7fafd}
.plist .pc{color:var(--blue);font-weight:800;min-width:44px}
.plist .pn{font-weight:700;color:var(--navy)}
.plist .pt{font-size:11.5px;color:var(--gray);background:var(--lite);padding:1px 8px;border-radius:10px}
.plist .pa{margin-left:auto;color:var(--blue);font-weight:700;font-size:12.5px;white-space:nowrap}
/* 迷你判定链 */
.minichain{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 0;align-items:center}
.minichain i{font-size:12px;color:var(--gray);font-style:normal;margin-right:2px}
.minichain a,.minichain span{font-size:12px;padding:4px 10px;border-radius:8px;background:#fff;border:1px solid var(--line);color:var(--gray)}
.minichain a:hover{border-color:var(--blue);text-decoration:none}
.minichain .cur{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:700}
@media (max-width:760px){.entry,.grid2{grid-template-columns:1fr}.duty{grid-template-columns:1fr 1fr}.step::after{display:none}}


/* ============ 打印样式（v1.0 发布·检查表可打印） ============ */
@media print{
  body{background:#fff;font-size:12px}
  .topbar{display:none}
  .wrap{max-width:100%;padding:0 6mm}
  a{color:inherit;text-decoration:none}
  .card,.gate,.checklist,.box{box-shadow:none;break-inside:avoid;page-break-inside:avoid}
  .card.warn,.card.ok,.card.amber{border-left-width:4px}
  .plist a,.entry .box{break-inside:avoid;page-break-inside:avoid}
  footer{border-top:1px solid #999;margin-top:20px}
  @page{margin:12mm 10mm}
}

/* ============ v1.0 发布态组件（公告 / 接口矩阵 / 岗位速查） ============ */
.notice{background:#15355e;color:#fff;border-radius:12px;padding:12px 18px;margin:14px 0 18px;font-size:13.5px}
.notice b{color:#8fd0ff;margin-right:8px}
.notice a{color:#fff;border-bottom:1px solid rgba(255,255,255,.45);font-weight:700}
.notice2{background:#eef6ff;border:1px solid #d4e4f7;color:#15355e;border-radius:10px;padding:10px 16px;margin:12px 0 16px;font-size:13px}
.notice3{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px 30px;line-height:2;max-width:820px;margin:10px auto}
.notice3 p{margin:8px 0}
.pair{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 18px;margin-top:10px}
.pair h3{margin:0 0 6px;font-size:14.5px;color:var(--navy)}
.pair .pl{font-size:13px;padding:5px 0;border-top:1px dashed #eef1f5;line-height:2}
.pair .pl:first-of-type{border-top:none}
.pair .pl a{display:inline-block;margin:2px 6px 2px 0;background:var(--lite);border:1px solid var(--line);border-radius:8px;padding:2px 10px;font-size:12.5px}
.pair .pl a:hover{border-color:var(--blue);text-decoration:none}
.qrt{border-collapse:collapse;width:100%;font-size:13px;margin-top:10px}
.qrt th,.qrt td{border:1px solid var(--line);padding:7px 10px;text-align:left;vertical-align:top}
.qrt th{background:var(--lite);color:var(--navy)}
.qrt a{display:inline-block;margin:2px 6px 2px 0;background:var(--lite);border:1px solid var(--line);border-radius:8px;padding:1px 10px;font-size:12.5px;font-weight:700;color:var(--blue)}
.qrt a:hover{border-color:var(--blue);text-decoration:none}

/* ============ 组织架构页（v1.0） ============ */
.orgchart{margin-top:10px}
.oc-ceo{max-width:300px;margin:8px auto 0;text-align:center;background:var(--navy);color:#fff;font-weight:800;font-size:16px;border-radius:12px;padding:14px 10px;letter-spacing:2px}
.oc-trunk{width:2px;height:26px;background:#c8d6e8;margin:0 auto}
.oc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.oc-card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:12px;padding:12px 16px;position:relative}
.oc-card.oc-dim{border-top-color:#c8d6e8;background:#fafbfc}
.oc-card.oc-hot{border-top-color:#e08a00;box-shadow:0 2px 8px rgba(224,138,0,.10)}
.oc-h{font-weight:800;color:var(--navy);font-size:14.5px;margin-bottom:6px}
.oc-h span{font-weight:400;color:#6a7787;font-size:12.5px;margin-left:4px}
.oc-h i{font-style:normal;font-size:11.5px;background:#fff3e0;color:#b26a00;border-radius:8px;padding:1px 8px;margin-left:6px}
.oc-dim .oc-h i{background:#eef1f5;color:#7b8794}
.oc-b{display:flex;flex-direction:column;gap:5px;font-size:13px}
.oc-b a{display:block;background:var(--lite);border:1px solid var(--line);border-radius:8px;padding:5px 12px;color:var(--blue);font-weight:700}
.oc-b a:hover{border-color:var(--blue);text-decoration:none;background:#f7fafd}
.oc-b.oc-off{color:#8894a6;font-size:12.5px;line-height:1.7}

/* ============ 组织架构 · 思维导图型（v1.1） ============ */
.mtree{margin:14px 0 4px;font-size:13.5px;overflow-x:auto}
.mt-root{display:inline-block;background:var(--navy);color:#fff;font-weight:800;border-radius:12px;padding:12px 26px;font-size:16px;letter-spacing:1px}
.mt-root span{font-weight:400;font-size:12px;color:#bcd2ea;margin-left:8px;letter-spacing:0}
.mtree>ul{list-style:none;margin:0;padding:8px 0 0 26px;position:relative}
.mtree>ul::before{content:"";position:absolute;left:9px;top:0;height:26px;border-left:2px solid #c8d6e8}
.mtree ul{list-style:none;margin:0;padding-left:30px}
.mtree li{position:relative;padding:5px 0 5px 26px}
.mtree li::before{content:"";position:absolute;left:0;top:0;bottom:0;border-left:2px solid #c8d6e8}
.mtree li:last-child::before{bottom:auto;height:26px}
.mtree li::after{content:"";position:absolute;left:0;top:26px;width:24px;border-top:2px solid #c8d6e8}
.mt-node{display:inline-block;background:#fff;border:1.5px solid var(--blue);border-radius:9px;padding:7px 16px;font-weight:700;color:var(--navy)}
.mt-node i{font-style:normal;font-size:11px;background:#fff3e0;color:#b26a00;border-radius:8px;padding:1px 8px;margin-left:6px}
a.mt-node.link{color:var(--blue)}
a.mt-node.link:hover{background:var(--lite);text-decoration:none;border-color:var(--navy)}
.mt-node.hot{border-color:#e08a00;background:#fffaf2;box-shadow:0 2px 6px rgba(224,138,0,.12)}
.mt-node.dim{border-color:#d4dae3;color:#8894a6;background:#fafbfc;font-weight:400}
.mtree li.dim::before,.mtree li.dim::after{border-color:#e3e8ef}
