/* ===================================================================
   亚泰娱乐 · 推送中台 统一 UI（Light 版）
   风格参照支付站：深蓝顶栏 + 浅灰页面 + 白色卡片 + 蓝色主色
   =================================================================== */
:root{
  --bg:#f0f2f5;
  --panel:#ffffff;
  --surface:#ffffff;
  --surface2:#f8f9fb;
  --surface3:#eef1f5;
  --line:#e5e7eb;
  --line2:#d5dbe4;
  --tx:#111827;
  --tx2:#4b5563;
  --tx3:#6b7280;
  --tx4:#9aa4b2;
  --c:#1a56db;
  --c-hover:#1548bb;
  --c-soft:rgba(26,86,219,.07);
  --gold:#a9741a;
  --gold-soft:rgba(169,116,26,.09);
  --ok:#059669;
  --ok-soft:rgba(5,150,105,.09);
  --bad:#dc2626;
  --bad-soft:rgba(220,38,38,.08);
  --blue:#2563eb;
  --blue-soft:rgba(37,99,235,.08);
  --purple:#7c3aed;
  --purple-soft:rgba(124,58,237,.08);
  --navy1:#0f2c5c;
  --navy2:#1a3a6b;
  --r:8px;
  --r-lg:10px;
  --sh:0 1px 2px rgba(16,24,40,.06);
  --sh-lg:0 6px 20px rgba(16,24,40,.08);
  --font:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Segoe UI",sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--tx);font-family:var(--font);
  font-size:13.5px;font-weight:500;line-height:1.62;
}
a{color:var(--c);text-decoration:none}
a:hover{color:var(--c-hover);text-decoration:underline}
h1,h2,h3{margin:0}
::selection{background:rgba(26,86,219,.16)}

/* ---------- 图标 ---------- */
.i{width:16px;height:16px;flex:none;vertical-align:-2px;stroke:currentColor;fill:none;
   stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.i.lg{width:19px;height:19px}
.i.sm{width:14px;height:14px}

/* ---------- 顶栏（深蓝，同支付站） ---------- */
.topbar{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  min-height:58px;padding:0 22px;position:sticky;top:0;z-index:60;
  background:linear-gradient(100deg,var(--navy1),var(--navy2));
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 1px 3px rgba(16,24,40,.12);
}
.brand{display:flex;align-items:center;gap:9px;color:#fff;font-weight:700;font-size:14.5px;letter-spacing:.2px}
.brand .mark{
  width:26px;height:26px;border-radius:6px;display:grid;place-items:center;flex:none;
  background:linear-gradient(140deg,#e8b23a,#b8860b);color:#3a2a00;
  font-size:12px;font-weight:800;
}
.brand em{font-style:normal;color:#a9bcd8;font-weight:600;font-size:12.5px}
.topbar .sp{flex:1}
.nav{display:flex;gap:2px;flex-wrap:wrap}
.nav a{
  display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:6px;
  color:#c3d2e6;font-size:12.8px;font-weight:600;transition:background .16s,color .16s;
  text-decoration:none;
}
.nav a:hover{background:rgba(255,255,255,.09);color:#fff;text-decoration:none}
.nav a.on{background:rgba(255,255,255,.16);color:#fff}
.nav a .i{opacity:.9}
.navbd{
  font-style:normal;display:inline-flex;align-items:center;justify-content:center;
  min-width:17px;height:17px;padding:0 5px;margin-left:1px;border-radius:9px;
  background:#dc2626;color:#fff;font-size:10.5px;font-weight:800;line-height:1;
  box-shadow:0 1px 3px rgba(220,38,38,.45);
}

/* ---------- 多选工具条 ---------- */
.pickbar{
  display:flex;gap:11px;flex-wrap:wrap;align-items:center;margin-bottom:10px;
  padding:10px 13px;border-radius:9px;background:#f7f9fc;border:1px solid var(--line);
}
.pickbar .pickcnt{font-size:12.3px;color:var(--tx3);font-weight:600}
.pickbar .pickcnt b{color:var(--c);font-weight:800;font-size:14px;margin:0 1px}
.pickbar .chk{display:inline-flex;align-items:center;gap:7px;font-size:12.6px;color:var(--tx);font-weight:600;cursor:pointer}
.pickbar .chk input{width:15px;height:15px;accent-color:var(--c);cursor:pointer;margin:0}
tr.picked td{background:#eef4ff!important}
input.pickone{width:15px;height:15px;accent-color:var(--c);cursor:pointer;margin:0}

/* ---------- 号码年限（入网年份 + 年龄段） ---------- */
.tn{display:flex;flex-direction:column;gap:2px;line-height:1.25;min-width:78px}
.tn b{font-size:13.2px;font-weight:800;color:var(--tx);letter-spacing:.2px}
.tn b i{font-style:normal;font-size:10.5px;font-weight:600;color:var(--tx3);margin-left:1px}
.tn span{font-size:10.8px;color:var(--tx4);font-weight:600}
.tn .tag{margin-top:2px;align-self:flex-start}
.tn-na{color:var(--tx4);font-size:12px}
.tnyr{font-size:13px;font-weight:800;color:var(--tx)}
.tnsep{font-size:11px;color:var(--tx3);margin-left:1px}

/* ---------- 公共数据源对照小字（挂在运营商下面） ---------- */
.pubs{font-size:10.6px;font-weight:600;margin-top:3px;line-height:1.3;white-space:nowrap}
.pubs.pub-ok{color:var(--ok)}
.pubs.pub-bad{color:var(--bad)}
.pubs.pub-miss{color:var(--gold)}
.sitechip{
  display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);
  color:#c3d2e6;font-size:11.5px;font-weight:600;
}
.sitechip b{color:#fff;font-weight:700}
@media(max-width:1460px){.topbar .sitechip{display:none}}
@media(max-width:1180px){
  .topbar{padding:0 14px;gap:6px}
  .brand em{display:none}
  .nav a{padding:7px 9px;font-size:12.2px}
  .nav a .i{width:15px;height:15px}
}
@media(max-width:640px){
  .wrap{padding:16px 12px 44px}
  .pagehead h1{font-size:17px}
  .nav a{padding:6px 8px;font-size:11.8px}
}

/* ---------- 页面骨架 ---------- */
.wrap{max-width:1240px;margin:0 auto;padding:22px 20px 60px}
.pagehead{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 18px}
.pagehead h1{
  display:flex;align-items:center;gap:9px;color:var(--tx);
  font-size:19px;font-weight:700;letter-spacing:.1px;
}
.pagehead h1 .i{color:var(--c)}
.pagehead .sub{color:var(--tx3);font-size:12.6px;font-weight:400;margin:0}
.pagehead .actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
@media(max-width:720px){.pagehead .actions{margin-left:0;width:100%}}

/* ---------- 卡片 ---------- */
.card{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:18px 20px;margin-bottom:14px;box-shadow:var(--sh);
}
.card>h2,.card .ch{
  display:flex;align-items:center;gap:8px;margin:0 0 14px;
  font-size:14px;font-weight:700;color:var(--tx);
}
.card>h2 .i,.card .ch .i{color:var(--tx4)}
.card.pad0{padding:0;overflow:hidden}
.card.pad0>h2{padding:16px 20px 0;margin-bottom:12px}

/* ---------- 统计卡 ---------- */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.grid.c2{grid-template-columns:repeat(2,1fr)}
.grid.c3{grid-template-columns:repeat(3,1fr)}
.grid.c5{grid-template-columns:repeat(5,1fr)}
.grid.c6{grid-template-columns:repeat(6,1fr)}
@media(max-width:1000px){.grid,.grid.c5,.grid.c6{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.grid,.grid.c2,.grid.c3,.grid.c5,.grid.c6{grid-template-columns:repeat(2,1fr)}}
.st{
  position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
  padding:13px 15px 12px;transition:border-color .16s,box-shadow .16s;
}
.st:hover{border-color:var(--line2);box-shadow:var(--sh)}
.st b{
  display:block;font-family:var(--mono);font-size:22px;line-height:1.28;
  color:var(--tx);font-weight:700;letter-spacing:-.3px;font-variant-numeric:tabular-nums;
}
.st span{display:block;margin-top:1px;font-size:11.8px;color:var(--tx3);font-weight:500}
.st.ok b{color:var(--ok)}
.st.bad b{color:var(--bad)}
.st.gold b{color:var(--gold)}
.st.blue b{color:var(--blue)}
.st.purple b{color:var(--purple)}

/* ---------- 表格 ---------- */
.tw,.tblwrap{
  overflow:auto;max-height:460px;border-radius:var(--r);
  border:1px solid var(--line);background:var(--panel);
}
table{width:100%;border-collapse:collapse;font-size:12.7px}
thead th{
  position:sticky;top:0;z-index:1;text-align:left;white-space:nowrap;
  padding:9px 12px;background:var(--surface2);color:var(--tx2);
  font-size:11.8px;font-weight:600;border-bottom:1px solid var(--line);
}
tbody td{padding:9px 12px;border-bottom:1px solid #f1f3f7;color:var(--tx2);white-space:nowrap}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover td{background:#fafbfd}
.mono{font-family:var(--mono);font-size:12px}
tbody td b{color:var(--tx);font-weight:600}

/* ---------- 标签 ---------- */
.tag{
  display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:4px;
  font-size:11.4px;font-weight:600;background:var(--surface3);color:var(--tx2);
  border:1px solid transparent;white-space:nowrap;
}
.tag.t-ok,.tag.s3{background:var(--ok-soft);color:var(--ok);border-color:rgba(5,150,105,.2)}
.tag.t-bad,.tag.s4{background:var(--bad-soft);color:var(--bad);border-color:rgba(220,38,38,.18)}
.tag.t-info,.tag.s2,.tag.t-dev{background:var(--blue-soft);color:var(--blue);border-color:rgba(37,99,235,.18)}
.tag.t-blue,.tag.s1{background:var(--c-soft);color:var(--c);border-color:rgba(26,86,219,.18)}
.tag.t-gold,.tag.s5{background:var(--gold-soft);color:var(--gold);border-color:rgba(169,116,26,.2)}
.tag.s0,.tag.t-b0{background:var(--surface3);color:var(--tx3)}
.tag.t-no{background:var(--bad-soft);color:var(--bad);border-color:rgba(220,38,38,.18)}
.tag.t-b1{background:var(--gold-soft);color:var(--gold);border-color:rgba(169,116,26,.2)}
.tag.t-b2{background:rgba(234,88,12,.08);color:#c2410c;border-color:rgba(234,88,12,.2)}
.tag.t-b3{background:var(--bad-soft);color:var(--bad);border-color:rgba(220,38,38,.22)}

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:8px 15px;border-radius:6px;font-family:inherit;font-size:12.9px;font-weight:600;
  background:#fff;color:var(--tx);border:1px solid var(--line2);cursor:pointer;
  transition:background .16s,border-color .16s,color .16s,box-shadow .16s;white-space:nowrap;
  text-decoration:none;
}
.btn:hover{background:#f7f9fc;border-color:#c2cbd8;color:var(--tx);text-decoration:none;box-shadow:var(--sh)}
.btn:active{background:#f0f3f8}
.btn .i{opacity:.75}
.btn.primary{background:var(--c);border-color:var(--c);color:#fff}
.btn.primary:hover{background:var(--c-hover);border-color:var(--c-hover);color:#fff}
.btn.primary .i{opacity:.95}
.btn.gold{background:#fff;border-color:rgba(169,116,26,.4);color:var(--gold)}
.btn.gold:hover{background:var(--gold-soft);border-color:rgba(169,116,26,.6)}
.btn.danger{background:#fff;border-color:rgba(220,38,38,.32);color:var(--bad)}
.btn.danger:hover{background:var(--bad-soft);border-color:rgba(220,38,38,.5)}
.btn.csv,.btn.go{background:#fff;border-color:rgba(37,99,235,.32);color:var(--blue)}
.btn.csv:hover,.btn.go:hover{background:var(--blue-soft);border-color:rgba(37,99,235,.5)}
.btn.sm{padding:5px 11px;font-size:12px}
.btn[disabled],.btn:disabled{opacity:.5;pointer-events:none}

/* ---------- 表单 ---------- */
label,.fl{display:block;font-size:12.2px;color:var(--tx2);font-weight:600;margin:0 0 6px}
input[type=text],input[type=number],input[type=password],input[type=email],input[type=file],select,textarea{
  width:100%;background:#fff;border:1px solid var(--line2);border-radius:6px;
  padding:9px 12px;color:var(--tx);font-family:inherit;font-size:13px;font-weight:500;outline:none;
  transition:border-color .16s,box-shadow .16s;
}
input::placeholder,textarea::placeholder{color:#aab3bf}
input:hover,select:hover,textarea:hover{border-color:#bfc8d6}
input:focus,select:focus,textarea:focus{border-color:var(--c);box-shadow:0 0 0 3px rgba(26,86,219,.1)}
textarea{min-height:130px;resize:vertical;font-family:var(--mono);font-size:12.4px;line-height:1.7}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#8a94a3 50%),linear-gradient(135deg,#8a94a3 50%,transparent 50%);
  background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:32px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.row.c3{grid-template-columns:repeat(3,1fr)}
@media(max-width:720px){.row,.row.c3{grid-template-columns:1fr}}
.f{display:flex;gap:9px;flex-wrap:wrap;align-items:flex-end}
.f label{margin-bottom:5px}
.w1{width:118px;flex:none}
.w2{width:150px;flex:none}
@media(max-width:720px){.w1,.w2{width:calc(50% - 5px)}}

/* ---------- 提示块 ---------- */
.ok,.err{
  border-radius:var(--r);padding:10px 14px;font-size:12.8px;font-weight:600;
}
.ok{background:var(--ok-soft);border:1px solid rgba(5,150,105,.22);color:#047857;margin-bottom:14px}
.err{background:var(--bad-soft);border:1px solid rgba(220,38,38,.22);color:#b91c1c;margin-bottom:14px}
.hint{
  background:#fbfcfe;border:1px solid var(--line);color:var(--tx3);
  line-height:1.95;font-size:12.3px;margin-top:12px;border-radius:var(--r);padding:11px 14px;
}
.hint b{color:var(--tx2)}
.hint code,.sub code,p code,td code,li code{
  font-family:var(--mono);font-size:11.9px;background:#f4f6fa;
  border:1px solid var(--line);border-radius:4px;padding:1px 5px;color:#b3261e;
}
.sub{color:var(--tx3);font-size:12.5px;margin:0 0 18px}

/* ---------- 分页 ---------- */
.pg{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:12px 2px 0}
.pg .info{color:var(--tx3);font-size:12.4px;margin-right:auto}

/* ---------- 空状态 ---------- */
.empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:34px 20px;color:var(--tx3);font-size:12.6px}
.empty .i{width:24px;height:24px;opacity:.4}
.empty h4{margin:2px 0 0;font-size:13.5px;color:var(--tx2);font-weight:600}
.empty p{margin:0;font-size:12.4px;color:var(--tx3);font-weight:400;line-height:1.85;max-width:520px;text-align:center}
.empty .btn{margin-top:8px}

/* ---------- 新手引导 ---------- */
.guide{
  background:#f7faff;border:1px solid #dbe6f8;border-radius:var(--r-lg);
  padding:16px 18px;margin-bottom:14px;
}
.guide-h{display:flex;align-items:center;gap:8px;font-size:13.8px;font-weight:700;color:var(--c);margin-bottom:4px}
.guide-h .i{width:17px;height:17px}
.guide>p{margin:0 0 13px;color:var(--tx2);font-size:12.7px;font-weight:400;line-height:1.85}
.guide>p b{color:var(--tx);font-weight:600}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.steps.grid2{grid-template-columns:repeat(2,1fr)}
.steps.grid3{grid-template-columns:repeat(3,1fr)}
.steps.grid4{grid-template-columns:repeat(4,1fr)}
.steps.grid5{grid-template-columns:repeat(5,1fr)}
@media(max-width:1280px){.steps.grid5{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1000px){.steps.grid3,.steps.grid4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.steps.grid2,.steps.grid3,.steps.grid4,.steps.grid5{grid-template-columns:1fr}}
.steps li{
  display:flex;gap:10px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r);padding:12px 14px;
}
.steps li>b{
  flex:none;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;
  background:var(--c);color:#fff;font-size:11.6px;font-weight:700;font-family:var(--mono);
}
.steps li h4{margin:0 0 3px;font-size:12.9px;font-weight:700;color:var(--tx)}
.steps li p{margin:0;font-size:12.1px;color:var(--tx3);line-height:1.8;font-weight:400}
.steps li p b{color:var(--tx2);font-weight:600}
.steps li .btn{margin-top:9px}
.guide-foot{display:flex;gap:10px;align-items:center;margin-top:12px;flex-wrap:wrap;color:var(--tx3);font-size:12.1px}

/* ---------- 字段说明 / 提示条 ---------- */
.fh{margin:6px 0 0;font-size:11.9px;color:var(--tx3);line-height:1.75;font-weight:400}
.fh b{color:var(--tx2);font-weight:600}
.fh.warn{color:#b45309}
.req{color:var(--bad);margin-left:3px;font-weight:700}
.callout{
  display:flex;gap:9px;align-items:flex-start;padding:11px 14px;border-radius:var(--r);
  background:#f7faff;border:1px solid #dbe6f8;color:var(--tx2);
  font-size:12.5px;font-weight:400;line-height:1.85;margin-top:12px;
}
.callout .i{flex:none;margin-top:2px;color:var(--c)}
.callout.warn{background:#fffbf0;border-color:#f5e2b8;color:#8a6116}
.callout.warn .i{color:#b45309}
.callout.ok{background:var(--ok-soft);border-color:rgba(5,150,105,.22);color:#047857}
.callout.ok .i{color:var(--ok)}
.callout b{color:var(--tx);font-weight:600}

/* ---------- 名词小抄 ---------- */
dl.terms{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 22px;margin:0}
@media(max-width:720px){dl.terms{grid-template-columns:1fr}}
dl.terms dt{color:var(--tx);font-weight:600;font-size:12.7px;margin-top:9px}
dl.terms dd{margin:1px 0 0;color:var(--tx3);font-size:12.3px;font-weight:400;line-height:1.8}

/* ---------- 折叠区 ---------- */
details.acc{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);
  margin-bottom:14px;overflow:hidden;box-shadow:var(--sh);
}
details.acc>summary{
  display:flex;align-items:center;gap:8px;padding:14px 20px;cursor:pointer;
  font-size:13.6px;font-weight:600;color:var(--tx);list-style:none;user-select:none;
}
details.acc>summary::-webkit-details-marker{display:none}
details.acc>summary::after{content:'＋';margin-left:auto;color:var(--tx4);font-weight:400;font-size:15px}
details.acc[open]>summary::after{content:'－'}
details.acc>summary:hover{background:#fafbfd}
details.acc>summary .i{color:var(--tx4)}
details.acc>.acc-body{padding:16px 20px 18px;border-top:1px solid var(--line)}

/* ---------- 导入：进度 / 实时统计 / 选项 ---------- */
.prog{margin:14px 0 4px}
.prog .bar{height:6px;border-radius:6px;background:var(--surface3);overflow:hidden}
.prog .bar i{display:block;height:100%;width:0;border-radius:6px;
  background:linear-gradient(90deg,var(--c),#4b8ef7);transition:width .25s ease}
.prog .meta{display:flex;justify-content:space-between;margin-top:6px;font-size:11.9px;color:var(--tx3);font-weight:500}
.livegrid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:14px}
@media(max-width:1000px){.livegrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.livegrid{grid-template-columns:repeat(2,1fr)}}
.livegrid .lv{background:var(--surface2);border:1px solid var(--line);border-radius:var(--r);padding:12px 13px;text-align:center}
.livegrid .lv b{display:block;font-family:var(--mono);font-size:19px;font-weight:700;color:var(--tx);
  font-variant-numeric:tabular-nums;letter-spacing:-.3px}
.livegrid .lv span{font-size:11.6px;color:var(--tx3);font-weight:500}
.livegrid .lv.ins b{color:var(--ok)}
.livegrid .lv.dup b{color:var(--gold)}
.livegrid .lv.bad b{color:var(--bad)}
.livegrid .lv.mail b{color:var(--blue)}

.opts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:4px}
@media(max-width:820px){.opts{grid-template-columns:1fr}}
.opt{background:var(--surface2);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px}
.opt>label{color:var(--tx2);font-size:12.2px;margin-bottom:8px}
.seg{display:flex;gap:6px;flex-wrap:wrap}
.seg input{display:none}
.seg label{
  display:inline-flex;align-items:center;gap:5px;padding:7px 13px;border-radius:6px;margin:0;
  background:#fff;border:1px solid var(--line2);color:var(--tx2);
  font-size:12.5px;font-weight:600;cursor:pointer;transition:.15s;
}
.seg label:hover{border-color:#bfc8d6;color:var(--tx)}
.seg input:checked+label{background:var(--c-soft);border-color:rgba(26,86,219,.45);color:var(--c)}
.chk{display:flex;align-items:flex-start;gap:9px;cursor:pointer;margin:0;color:var(--tx2);font-size:12.5px;font-weight:500;line-height:1.6}
.chk input{appearance:none;flex:none;width:34px;height:19px;border-radius:20px;background:#dfe4ec;
  border:1px solid var(--line2);position:relative;cursor:pointer;transition:.2s;margin-top:1px}
.chk input::after{content:'';position:absolute;left:2px;top:2px;width:13px;height:13px;border-radius:50%;
  background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.2);transition:.2s}
.chk input:checked{background:var(--c);border-color:var(--c)}
.chk input:checked::after{left:17px}

.dist{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}
.dist .chip{
  display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;
  background:var(--surface2);border:1px solid var(--line);font-size:12.3px;font-weight:500;color:var(--tx2);
}
.dist .chip b{color:var(--tx);font-family:var(--mono);font-size:12.4px;font-weight:600}

/* ---------- 文本色助手 ---------- */
.c-ok{color:var(--ok)!important}
.c-bad{color:var(--bad)!important}
.c-gold{color:var(--gold)!important}
.c-muted{color:var(--tx3)!important}
.c-blue{color:var(--blue)!important}
pre.code{
  margin:0;background:#f8f9fb;border:1px solid var(--line);border-radius:var(--r);
  padding:14px 16px;overflow:auto;color:#374151;font-size:12.1px;line-height:1.8;
  font-family:var(--mono);white-space:pre;
}

/* ---------- 预设方案（傻瓜一键） ---------- */
.presets{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:6px}
@media(max-width:900px){.presets{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.presets{grid-template-columns:1fr}}
.preset{
  display:flex;flex-direction:column;gap:2px;align-items:flex-start;text-align:left;
  padding:11px 14px;border-radius:var(--r);border:1px solid var(--line2);background:#fff;
  cursor:pointer;font-family:inherit;transition:.15s;position:relative;
}
.preset:hover{border-color:#b9c6da;box-shadow:var(--sh)}
.preset b{font-size:12.9px;font-weight:600;color:var(--tx);display:flex;align-items:center;gap:6px}
.preset span{font-size:11.6px;color:var(--tx3);font-weight:400;line-height:1.6}
.preset::after{
  content:'';position:absolute;right:12px;top:50%;transform:translateY(-50%);
  width:6px;height:6px;border-radius:50%;background:var(--line2);
}
.preset.on{border-color:var(--c);background:var(--c-soft);box-shadow:0 0 0 1px rgba(26,86,219,.25) inset}
.preset.on::after{background:var(--c)}
.preset.on b{color:var(--c)}

/* 来源快捷标签 */
.srcchips{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.srcchips button{
  padding:5px 11px;border-radius:20px;border:1px solid var(--line2);background:#fff;
  color:var(--tx2);font-size:12.1px;font-weight:500;cursor:pointer;font-family:inherit;transition:.15s;
}
.srcchips button:hover{border-color:#b9c6da;color:var(--tx)}
.srcchips button.on{background:var(--c-soft);border-color:rgba(26,86,219,.4);color:var(--c)}

/* 自查清单 */
.checks{display:grid;gap:8px;margin:0}
.checks div{display:flex;gap:9px;font-size:12.4px;line-height:1.8;color:var(--tx2);font-weight:400}
.checks div b{flex:none;color:var(--tx);font-weight:600;min-width:120px}
.checks div em{font-style:normal;color:var(--ok);font-weight:600}

/* ---------- 页脚 ---------- */
.foot{
  max-width:1240px;margin:0 auto;padding:0 20px 40px;
  color:var(--tx4);font-size:11.7px;font-weight:400;display:flex;gap:10px;flex-wrap:wrap;
}
.foot a{color:var(--tx3);text-decoration:none}
.foot a:hover{color:var(--c);text-decoration:none}

/* ---------- 滚动条 ---------- */
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#cdd4e0;border-radius:9px;border:2px solid var(--bg)}
::-webkit-scrollbar-thumb:hover{background:#b8c1d1}

@media print{body{background:#fff}.topbar,.foot,.nav{display:none}}
