.pager{ box-sizing: border-box; clear: both; font-size: 14px; width:100%; height:auto; margin:40px 0 50px 0;padding:0 0px 0 0; text-align:center; }
.pager a{color:#666;font-size: 14px; text-decoration:none;border: solid 1px #ddd;display: inline-block;padding:6px 10px;margin: 2px 4px; border-radius: 3px;}
.pager a:visited { color: #666; text-decoration: none }
.pager a:active { color: #666;text-decoration: none }
.pager a:hover{color:#666;text-decoration:none;}
.pager a.cur{color: #fff;background:#a00505;border:solid 1px #a00505;}
.pager a.prev{}
.pager a.next{}
.pager a.off{ color: #dddddd; border: solid 1px #ddd;}
.pager span{ float: right;}
.pager input{ outline: none; width: 40px; height: 29px; text-align: center; line-height: 28px; border: solid 1px #ccc;}
.pager button{ outline: none; width: 40px; height: 29px; line-height: 28px; border: solid 1px #ccc; border-left: none; cursor: pointer;}

/* 在main.css末尾添加 */

/* ---- Kefeng shared UI tokens and utilities ---- */
:root{
  --kf-primary:#00457C;   /* brand primary */
  --kf-secondary:#F2901E; /* accent */
  --kf-text:#222;
  --kf-muted:#666;
  --kf-radius:10px;
  --kf-max:1200px;
}

.kf-container{max-width:var(--kf-max);margin:0 auto;padding:0 1rem;}
.kf-section{padding:4rem 0;}
.kf-section.alt{background:#f8f9fa;}
.kf-title{font-size:2rem;font-weight:700;color:var(--kf-primary);margin:0 0 .5rem;text-align:center;}
.kf-subtitle{font-size:1.05rem;color:var(--kf-muted);text-align:center;margin:0 0 2rem;}

.kf-grid{display:grid;gap:24px}
@media(min-width:768px){
  .kf-grid.cols-2{grid-template-columns:repeat(2,1fr)}
  .kf-grid.cols-3{grid-template-columns:repeat(3,1fr)}
  .kf-grid.cols-4{grid-template-columns:repeat(4,1fr)}
}

.kf-card{background:#fff;border:1px solid #eee;border-radius:var(--kf-radius);padding:24px;box-shadow:0 6px 18px rgba(0,0,0,.06);transition:.25s}
.kf-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.08)}
.kf-card .kf-card-title{font-weight:700;color:#2c3e50;margin:.25rem 0 .5rem;font-size:1.2rem}
.kf-card .kf-card-desc{color:var(--kf-muted);line-height:1.6}

.kf-btn{display:inline-block;background:var(--kf-secondary);color:#fff;padding:.75rem 1.5rem;border-radius:999px;text-decoration:none;font-weight:700;box-shadow:0 4px 14px rgba(242,144,30,.3);transition:.25s}
.kf-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(242,144,30,.4);color:#fff}
.kf-btn--ghost{background:#fff;color:var(--kf-primary);box-shadow:0 4px 14px rgba(0,69,124,.15)}

.kf-hero{background:linear-gradient(135deg, #002f57 0%, var(--kf-primary) 100%);color:#fff;padding:80px 0;text-align:center}
.kf-hero .kf-hero-title{font-size:2.4rem;font-weight:800;margin:0 0 .5rem;color:#fff}
.kf-hero .kf-hero-sub{font-size:1.1rem;opacity:.9;margin:0 0 1.5rem}
.kf-hero .kf-hero-stats{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin-top:1rem}
.kf-hero .kf-hero-stats .item{min-width:120px;padding:12px 16px;border-radius:12px;background:rgba(255,255,255,.08)}
.kf-hero .num{font-size:1.6rem;font-weight:800;display:block}
.kf-hero .label{font-size:.85rem;opacity:.85}

.kf-table{background:#fff;border-radius:var(--kf-radius);overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.06)}
.kf-table .head{background:#f0f3f6;color:#1b2a41;padding:18px;text-align:center;font-weight:700}
.kf-table .grid{display:grid;gap:0}
.kf-table .cell{padding:14px;text-align:center;border-bottom:1px solid #eff3f6;border-right:1px solid #eff3f6}
.kf-table .cell:last-child{border-right:none}
.kf-pill--ok{color:#27ae60;font-weight:700}
.kf-pill--warn{color:#f39c12;font-weight:700}
.kf-pill--bad{color:#e74c3c;font-weight:700}

