/* ============================================================
   Employment Whitepaper - Shared stylesheet
   Used by: index.php (visitor) / expert_backend.php / admin.php
   Keep this file the single source of truth for whitepaper look.
   ============================================================ */

.wp-scope {
    --wp-ink: #1c2027;
    --wp-muted: #6b7280;
    --wp-line: #e8eaef;
    --wp-paper: #f6f7f9;
    --wp-from: #c22c33;
    --wp-to: #8c161d;
    --wp-accent: #d94048;
    --wp-soft: #fdeded;
    color: var(--wp-ink);
    font-family: Arial, "Microsoft YaHei", sans-serif;
}

/* theme variants ------------------------------------------------ */
.wp-t-indigo { --wp-from:#3b4b9a; --wp-to:#1e2a63; --wp-accent:#5b6cc4; --wp-soft:#eef0fb; }
.wp-t-teal   { --wp-from:#0f8177; --wp-to:#08544e; --wp-accent:#14a094; --wp-soft:#e8f6f4; }
.wp-t-amber  { --wp-from:#c9711c; --wp-to:#8f4a0d; --wp-accent:#e08a2b; --wp-soft:#fdf1e3; }
.wp-t-slate  { --wp-from:#3d4a56; --wp-to:#1f2933; --wp-accent:#5a6b7a; --wp-soft:#eef1f4; }
.wp-t-blue   { --wp-from:#1f5fb0; --wp-to:#123c73; --wp-accent:#2c7ad6; --wp-soft:#e9f2fc; }
.wp-t-gold   { --wp-from:#a87115; --wp-to:#6f4a0b; --wp-accent:#c99326; --wp-soft:#fbf3e0; }
.wp-t-red    { --wp-from:#c22c33; --wp-to:#8c161d; --wp-accent:#d94048; --wp-soft:#fdeded; }

/* ============================================================
   HOME - hero banner
   ============================================================ */
.wp-hero {
    position: relative;
    padding: 40px 44px 36px;
    margin-bottom: 26px;
    border-radius: 20px;
    overflow: hidden;
    color: #fff;
    background: linear-gradient(118deg, #23283a 0%, #171b28 48%, #2b1417 100%);
    box-shadow: 0 18px 40px rgba(24, 27, 38, .22);
}
.wp-hero::before {
    content: "";
    position: absolute; right: -90px; top: -120px;
    width: 340px; height: 340px; border-radius: 50%;
    background: radial-gradient(circle, rgba(214, 63, 70, .34), transparent 68%);
}
.wp-hero::after {
    content: "";
    position: absolute; left: -60px; bottom: -140px;
    width: 300px; height: 300px; border-radius: 50%;
    background: radial-gradient(circle, rgba(230, 169, 74, .18), transparent 70%);
}
.wp-hero-inner { position: relative; z-index: 2; }
.wp-hero-eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 6px 14px; margin-bottom: 16px;
    border: 1px solid rgba(255, 255, 255, .26);
    border-radius: 999px;
    background: rgba(255, 255, 255, .09);
    font-size: 11px; letter-spacing: 2px;
}
.wp-hero-eyebrow i { width: 6px; height: 6px; border-radius: 50%; background: #e6a94a; font-style: normal; }
.wp-hero h1 {
    margin: 0 0 12px;
    font-family: serif;
    font-size: 34px; font-weight: 900; letter-spacing: 3px;
}
.wp-hero h1 em { font-style: normal; color: #f0b95f; }
.wp-hero p { margin: 0; max-width: 720px; font-size: 13px; line-height: 2; color: rgba(255, 255, 255, .74); }
.wp-hero-meta { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 30px; }
.wp-hero-meta div strong { display: block; font-family: serif; font-size: 26px; color: #fff; }
.wp-hero-meta div span { font-size: 11px; color: rgba(255, 255, 255, .55); letter-spacing: 1px; }

/* ============================================================
   HOME - category grid
   ============================================================ */
.wp-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 20px;
}
.wp-card {
    position: relative;
    display: flex; flex-direction: column;
    border: 1px solid var(--wp-line);
    border-radius: 18px;
    background: #fff;
    overflow: hidden;
    cursor: pointer;
    text-decoration: none;
    color: inherit;
    transition: transform .28s cubic-bezier(.2,.7,.3,1), box-shadow .28s, border-color .28s;
}
.wp-card:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(28, 32, 39, .14); border-color: transparent; }

.wp-card-top {
    position: relative;
    padding: 22px 22px 20px;
    color: #fff;
    background: linear-gradient(126deg, var(--wp-from), var(--wp-to));
    overflow: hidden;
}
.wp-card-top::before {
    content: "";
    position: absolute; right: -46px; top: -52px;
    width: 168px; height: 168px; border-radius: 50%;
    background: rgba(255, 255, 255, .09);
}
.wp-card-top::after {
    content: "";
    position: absolute; right: 12px; bottom: -34px;
    width: 96px; height: 96px; border-radius: 28px;
    background: rgba(255, 255, 255, .06);
    transform: rotate(24deg);
}
.wp-card-wm {
    position: absolute; right: 14px; top: 50%; transform: translateY(-50%);
    font-family: serif; font-size: 82px; font-weight: 900;
    color: rgba(255, 255, 255, .13);
    line-height: 1; pointer-events: none; user-select: none;
}
.wp-card-head { position: relative; z-index: 2; display: flex; align-items: center; gap: 12px; }
.wp-card-badge {
    width: 46px; height: 46px; flex-shrink: 0;
    display: grid; place-items: center;
    border-radius: 13px;
    border: 1px solid rgba(255, 255, 255, .3);
    background: rgba(255, 255, 255, .16);
    font-family: serif; font-size: 22px; font-weight: 900;
    backdrop-filter: blur(4px);
}
.wp-card-title { min-width: 0; }
.wp-card-title strong { display: block; font-family: serif; font-size: 22px; letter-spacing: 3px; }
.wp-card-title span { display: block; margin-top: 3px; font-size: 10px; letter-spacing: 2px; color: rgba(255, 255, 255, .68); }
.wp-card-tag {
    position: relative; z-index: 2;
    display: inline-block; margin-top: 14px;
    padding: 4px 10px; border-radius: 6px;
    background: rgba(0, 0, 0, .17);
    font-size: 10px; letter-spacing: 1px; color: rgba(255, 255, 255, .9);
}

.wp-card-body { flex: 1; padding: 18px 22px 20px; display: flex; flex-direction: column; }
.wp-card-brief { margin: 0 0 16px; font-size: 12.5px; line-height: 1.85; color: #4b515b; min-height: 46px; }
.wp-card-stats {
    display: grid; grid-template-columns: repeat(4, 1fr);
    padding: 13px 0; margin-bottom: 15px;
    border-top: 1px dashed var(--wp-line);
    border-bottom: 1px dashed var(--wp-line);
    text-align: center;
}
.wp-card-stats div + div { border-left: 1px solid #f1f2f5; }
.wp-card-stats b { display: block; font-family: serif; font-size: 16px; color: var(--wp-from); letter-spacing: .5px; }
.wp-card-stats span { display: block; margin-top: 3px; font-size: 9.5px; color: #979ca6; transform: scale(.94); }
.wp-card-kw { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
.wp-card-kw span {
    padding: 3px 9px; border-radius: 5px;
    background: var(--wp-soft); color: var(--wp-to);
    font-size: 10px; font-weight: 600;
}
.wp-card-foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; }
.wp-card-views { font-size: 10.5px; color: #a5aab3; }
.wp-card-go {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 7px 15px; border-radius: 8px;
    background: linear-gradient(120deg, var(--wp-from), var(--wp-to));
    color: #fff; font-size: 12px; font-weight: 700;
    box-shadow: 0 6px 14px rgba(0, 0, 0, .13);
    transition: gap .22s;
}
.wp-card:hover .wp-card-go { gap: 11px; }

/* ============================================================
   DETAIL - banner
   ============================================================ */
.wp-back {
    display: inline-flex; align-items: center; gap: 7px;
    margin-bottom: 16px; padding: 8px 15px;
    border: 1px solid var(--wp-line); border-radius: 9px;
    background: #fff; color: #5b616b;
    font-size: 12.5px; font-weight: 600; cursor: pointer;
    transition: .2s;
}
.wp-back:hover { border-color: var(--wp-accent); color: var(--wp-from); }

.wp-banner {
    position: relative;
    padding: 38px 44px 34px;
    border-radius: 18px 18px 0 0;
    color: #fff;
    background: linear-gradient(124deg, var(--wp-from), var(--wp-to));
    overflow: hidden;
}
.wp-banner::before {
    content: "";
    position: absolute; right: -70px; top: -110px;
    width: 300px; height: 300px; border-radius: 50%;
    background: rgba(255, 255, 255, .08);
}
.wp-banner::after {
    content: "";
    position: absolute; left: 40%; bottom: -160px;
    width: 260px; height: 260px; border-radius: 50%;
    background: rgba(255, 255, 255, .05);
}
.wp-banner-wm {
    position: absolute; right: 34px; top: 50%; transform: translateY(-50%);
    font-family: serif; font-size: 150px; font-weight: 900;
    color: rgba(255, 255, 255, .1); line-height: 1; user-select: none;
}
.wp-banner-inner { position: relative; z-index: 2; }
.wp-banner-crumb { font-size: 11px; letter-spacing: 1px; color: rgba(255, 255, 255, .6); margin-bottom: 14px; }
.wp-banner-crumb b { color: #fff; font-weight: 600; }
.wp-banner h1 { margin: 0 0 10px; font-family: serif; font-size: 32px; font-weight: 900; letter-spacing: 3px; }
.wp-banner-sub { margin: 0 0 18px; font-size: 13px; line-height: 1.9; color: rgba(255, 255, 255, .78); max-width: 660px; }
.wp-banner-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.wp-banner-chips span {
    padding: 5px 12px; border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .26);
    background: rgba(255, 255, 255, .1);
    font-size: 11px;
}

.wp-keystats {
    display: grid; grid-template-columns: repeat(4, 1fr);
    padding: 0; margin-bottom: 24px;
    border: 1px solid var(--wp-line); border-top: 0;
    border-radius: 0 0 18px 18px;
    background: #fff;
    overflow: hidden;
}
.wp-keystats > div { padding: 20px 18px; text-align: center; }
.wp-keystats > div + div { border-left: 1px solid var(--wp-line); }
.wp-keystats b { display: block; font-family: serif; font-size: 27px; color: var(--wp-from); }
.wp-keystats span { display: block; margin-top: 5px; font-size: 11.5px; color: #6b7280; }
.wp-keystats em { display: block; margin-top: 3px; font-size: 10px; font-style: normal; color: #adb2ba; }

/* ============================================================
   DETAIL - layout: sticky TOC + body
   ============================================================ */
.wp-layout { display: grid; grid-template-columns: 178px minmax(0, 1fr); gap: 24px; align-items: start; }
.wp-toc { position: sticky; top: 88px; }
.wp-toc-title { font-size: 11px; letter-spacing: 2px; color: #a2a7b0; margin-bottom: 10px; padding-left: 12px; }
.wp-toc a {
    display: block; padding: 9px 12px; margin-bottom: 3px;
    border-left: 2px solid transparent; border-radius: 0 7px 7px 0;
    color: #6b7280; text-decoration: none;
    font-size: 12.5px; font-weight: 600;
    transition: .2s;
}
.wp-toc a:hover { background: var(--wp-soft); color: var(--wp-from); }
.wp-toc a.on { border-left-color: var(--wp-accent); background: var(--wp-soft); color: var(--wp-from); }

/* ============================================================
   DETAIL - section shell
   ============================================================ */
.wp-sec {
    padding: 28px 30px 30px;
    margin-bottom: 20px;
    border: 1px solid var(--wp-line);
    border-radius: 16px;
    background: #fff;
    scroll-margin-top: 84px;
}
.wp-sec-hd { display: flex; align-items: flex-start; gap: 13px; margin-bottom: 8px; }
.wp-sec-no {
    width: 30px; height: 30px; flex-shrink: 0;
    display: grid; place-items: center;
    border-radius: 9px;
    background: linear-gradient(130deg, var(--wp-from), var(--wp-to));
    color: #fff; font-family: serif; font-size: 14px; font-weight: 900;
}
.wp-sec-hd h2 { margin: 3px 0 0; font-size: 19px; font-weight: 800; letter-spacing: 1px; }
.wp-sec-hd .wp-sec-sub { margin: 4px 0 0; font-size: 11.5px; color: #9ba0a9; }
.wp-sec-lead { margin: 0 0 20px; padding-left: 43px; font-size: 13px; line-height: 2; color: #565c66; }
.wp-sec-lead b { color: var(--wp-from); font-weight: 800; }
.wp-note {
    margin-top: 20px; padding: 14px 17px;
    border-left: 3px solid var(--wp-accent); border-radius: 0 9px 9px 0;
    background: var(--wp-soft);
    font-size: 12.5px; line-height: 1.95; color: #4c525c;
}
.wp-note b { color: var(--wp-to); }
.wp-warn {
    margin-top: 18px; padding: 14px 17px;
    border-left: 3px solid #d9822b; border-radius: 0 9px 9px 0;
    background: #fdf5e9;
    font-size: 12.5px; line-height: 1.95; color: #7a5417;
}

/* --- type: stats --- */
.wp-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.wp-stat {
    position: relative;
    padding: 20px 16px; text-align: center;
    border: 1px solid var(--wp-line); border-radius: 13px;
    background: linear-gradient(178deg, #fff, var(--wp-soft));
    overflow: hidden;
    transition: .25s;
}
.wp-stat:hover { transform: translateY(-3px); box-shadow: 0 10px 22px rgba(0, 0, 0, .07); }
.wp-stat::after {
    content: ""; position: absolute; left: 50%; bottom: 0;
    width: 34px; height: 3px; transform: translateX(-50%);
    border-radius: 3px 3px 0 0; background: var(--wp-accent);
}
.wp-stat b { display: block; font-family: serif; font-size: 28px; letter-spacing: 1px; color: var(--wp-from); }
.wp-stat span { display: block; margin-top: 6px; font-size: 12px; color: #4f555f; font-weight: 600; }
.wp-stat em { display: block; margin-top: 4px; font-size: 10.5px; font-style: normal; color: #a3a8b1; }

/* --- type: compare table --- */
.wp-cmp-wrap { overflow-x: auto; border: 1px solid var(--wp-line); border-radius: 12px; }
.wp-cmp { width: 100%; border-collapse: collapse; font-size: 12.5px; min-width: 640px; }
.wp-cmp th {
    padding: 13px 14px; text-align: left; white-space: nowrap;
    background: linear-gradient(124deg, var(--wp-from), var(--wp-to));
    color: #fff; font-size: 13px; font-weight: 700; letter-spacing: 1px;
}
.wp-cmp th:first-child { background: var(--wp-to); width: 108px; }
.wp-cmp td { padding: 12px 14px; border-bottom: 1px solid #f1f2f5; line-height: 1.8; color: #4f555f; vertical-align: top; }
.wp-cmp td:first-child {
    background: var(--wp-soft); color: var(--wp-to);
    font-weight: 700; white-space: nowrap; width: 108px;
}
.wp-cmp tr:last-child td { border-bottom: 0; }
.wp-cmp tbody tr:hover td { background: #fafbfc; }
.wp-cmp tbody tr:hover td:first-child { background: var(--wp-soft); }

/* --- type: list --- */
.wp-list { display: grid; gap: 11px; }
.wp-list-item {
    display: flex; gap: 14px; align-items: flex-start;
    padding: 15px 18px;
    border: 1px solid var(--wp-line); border-radius: 11px;
    background: #fcfcfd;
    transition: .22s;
}
.wp-list-item:hover { background: #fff; border-color: var(--wp-accent); box-shadow: 0 6px 16px rgba(0, 0, 0, .05); }
.wp-list-no {
    width: 24px; height: 24px; flex-shrink: 0;
    display: grid; place-items: center;
    border-radius: 7px;
    background: var(--wp-soft); color: var(--wp-from);
    font-size: 11px; font-weight: 800;
}
.wp-list-item strong { display: block; margin-bottom: 5px; font-size: 13.5px; color: #22262d; }
.wp-list-item p { margin: 0; font-size: 12.5px; line-height: 1.9; color: #656b75; }

/* --- type: rank --- */
.wp-rank { display: grid; gap: 10px; }
.wp-rank-item {
    display: grid; grid-template-columns: 44px minmax(0, 1.15fr) 130px minmax(0, 1.35fr);
    gap: 14px; align-items: center;
    padding: 14px 18px;
    border: 1px solid var(--wp-line); border-radius: 11px;
    background: #fff;
    transition: .22s;
}
.wp-rank-item:hover { border-color: var(--wp-accent); box-shadow: 0 8px 20px rgba(0, 0, 0, .06); transform: translateX(3px); }
.wp-rank-no {
    width: 30px; height: 30px;
    display: grid; place-items: center;
    border-radius: 9px;
    background: #f2f3f6; color: #8d939c;
    font-family: serif; font-size: 14px; font-weight: 900;
}
.wp-rank-item:nth-child(1) .wp-rank-no { background: linear-gradient(135deg, #d8a13a, #b47c12); color: #fff; }
.wp-rank-item:nth-child(2) .wp-rank-no { background: linear-gradient(135deg, #b8bfc9, #929aa5); color: #fff; }
.wp-rank-item:nth-child(3) .wp-rank-no { background: linear-gradient(135deg, #c9855c, #a3603a); color: #fff; }
.wp-rank-name strong { display: block; font-size: 13.5px; color: #22262d; }
.wp-rank-name span { display: block; margin-top: 4px; font-size: 11px; color: var(--wp-from); font-weight: 700; }
.wp-rank-fit {
    padding: 5px 10px; border-radius: 7px;
    background: var(--wp-soft); color: var(--wp-to);
    font-size: 11px; font-weight: 600; text-align: center; line-height: 1.6;
}
.wp-rank-desc { font-size: 12px; line-height: 1.85; color: #6a707a; }

/* --- type: cards --- */
.wp-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(272px, 1fr)); gap: 14px; }
.wp-scene {
    position: relative;
    padding: 19px 20px 20px;
    border: 1px solid var(--wp-line); border-radius: 13px;
    background: #fff;
    overflow: hidden;
    transition: .25s;
}
.wp-scene::before {
    content: ""; position: absolute; left: 0; top: 0; bottom: 0;
    width: 3px; background: linear-gradient(var(--wp-from), var(--wp-to));
    opacity: 0; transition: opacity .25s;
}
.wp-scene:hover { transform: translateY(-4px); box-shadow: 0 14px 28px rgba(0, 0, 0, .08); }
.wp-scene:hover::before { opacity: 1; }
.wp-scene h4 { margin: 0 0 12px; font-size: 13.5px; font-weight: 800; color: #22262d; line-height: 1.6; }
.wp-scene-pick {
    display: block; margin-bottom: 10px; padding: 9px 12px;
    border-radius: 8px; background: var(--wp-soft);
    font-size: 12px; font-weight: 700; color: var(--wp-to); line-height: 1.7;
}
.wp-scene-pick i { font-style: normal; opacity: .65; font-weight: 600; }
.wp-scene p { margin: 0; font-size: 12px; line-height: 1.9; color: #6a707a; }

/* --- type: tier --- */
.wp-tiers { display: grid; gap: 13px; }
.wp-tier {
    display: grid; grid-template-columns: 148px minmax(0, 1fr);
    border: 1px solid var(--wp-line); border-radius: 13px;
    background: #fff; overflow: hidden;
    transition: .22s;
}
.wp-tier:hover { box-shadow: 0 10px 24px rgba(0, 0, 0, .07); }
.wp-tier-left {
    padding: 20px 16px; text-align: center;
    color: #fff;
    background: linear-gradient(150deg, var(--wp-from), var(--wp-to));
    display: flex; flex-direction: column; align-items: center; justify-content: center;
}
.wp-tier-left b { font-family: serif; font-size: 19px; letter-spacing: 1px; }
.wp-tier-left span {
    margin-top: 8px; padding: 3px 10px;
    border: 1px solid rgba(255, 255, 255, .34); border-radius: 999px;
    font-size: 10.5px;
}
.wp-tier-right { padding: 17px 20px; display: grid; gap: 10px; }
.wp-tier-row { display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 10px; align-items: start; }
.wp-tier-row > i {
    font-style: normal; font-size: 11px; font-weight: 700; color: #fff;
    background: var(--wp-accent); border-radius: 5px;
    padding: 3px 0; text-align: center;
}
.wp-tier-row > span { font-size: 12.5px; line-height: 1.85; color: #565c66; }

/* --- type: picks --- */
.wp-picks { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 14px; }
.wp-pick {
    position: relative;
    padding: 18px 19px 19px 19px;
    border: 1px solid var(--wp-line); border-radius: 13px;
    background: linear-gradient(172deg, #fff 55%, var(--wp-soft));
    transition: .25s;
}
.wp-pick:hover { transform: translateY(-4px); box-shadow: 0 14px 28px rgba(0, 0, 0, .08); border-color: transparent; }
.wp-pick-hd { display: flex; align-items: center; gap: 9px; margin-bottom: 11px; }
.wp-pick-hd strong { font-size: 14px; font-weight: 800; color: #22262d; }
.wp-pick-tag {
    padding: 3px 9px; border-radius: 6px;
    background: linear-gradient(120deg, var(--wp-from), var(--wp-to));
    color: #fff; font-size: 10px; font-weight: 700; white-space: nowrap;
}
.wp-pick p { margin: 0; font-size: 12px; line-height: 1.92; color: #656b75; }

/* --- type: pitfall --- */
.wp-pits { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; }
.wp-pit {
    display: flex; gap: 12px; align-items: flex-start;
    padding: 15px 17px;
    border: 1px solid #f2e2e2; border-radius: 12px;
    background: linear-gradient(170deg, #fffbfb, #fdf3f3);
}
.wp-pit-icon {
    width: 24px; height: 24px; flex-shrink: 0;
    display: grid; place-items: center;
    border-radius: 50%;
    background: #f6dcdc; color: #b3323a;
    font-size: 13px; font-weight: 900;
}
.wp-pit strong { display: block; margin-bottom: 5px; font-size: 13px; color: #8f2229; }
.wp-pit p { margin: 0; font-size: 12px; line-height: 1.88; color: #6d6165; }

/* --- type: timeline --- */
.wp-tl { position: relative; padding-left: 22px; }
.wp-tl::before { content: ""; position: absolute; left: 5px; top: 6px; bottom: 6px; width: 2px; background: var(--wp-soft); }
.wp-tl-item { position: relative; padding-bottom: 18px; }
.wp-tl-item:last-child { padding-bottom: 0; }
.wp-tl-item::before {
    content: ""; position: absolute; left: -21px; top: 5px;
    width: 10px; height: 10px; border-radius: 50%;
    background: #fff; border: 2px solid var(--wp-accent);
}
.wp-tl-time { font-size: 11px; font-weight: 700; color: var(--wp-from); }
.wp-tl-item strong { display: block; margin: 4px 0 4px; font-size: 13px; color: #22262d; }
.wp-tl-item p { margin: 0; font-size: 12px; line-height: 1.85; color: #6a707a; }

/* ============================================================
   DETAIL - related + footer
   ============================================================ */
.wp-related { margin-top: 26px; }
.wp-related-hd { margin-bottom: 14px; font-size: 15px; font-weight: 800; letter-spacing: 1px; }
.wp-related-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.wp-rel {
    display: flex; align-items: center; gap: 11px;
    padding: 13px 15px;
    border: 1px solid var(--wp-line); border-radius: 11px;
    background: #fff; cursor: pointer;
    transition: .22s;
}
.wp-rel:hover { transform: translateY(-3px); box-shadow: 0 10px 22px rgba(0, 0, 0, .07); }
.wp-rel-badge {
    width: 34px; height: 34px; flex-shrink: 0;
    display: grid; place-items: center;
    border-radius: 9px; color: #fff;
    font-family: serif; font-size: 16px; font-weight: 900;
}
.wp-rel-txt { min-width: 0; }
.wp-rel-txt strong { display: block; font-size: 13px; color: #22262d; }
.wp-rel-txt span {
    display: block; margin-top: 2px; font-size: 10.5px; color: #9ba0a9;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

.wp-disclaimer {
    margin-top: 24px; padding: 18px 22px;
    border: 1px dashed #dfe2e7; border-radius: 12px;
    background: #fafbfc;
    font-size: 11.5px; line-height: 1.95; color: #8b9099;
}
.wp-disclaimer b { color: #6b7280; }

/* ============================================================
   states
   ============================================================ */
.wp-loading { padding: 70px 0; text-align: center; color: #9ba0a9; font-size: 13px; }
.wp-loading .wp-spin {
    width: 26px; height: 26px; margin: 0 auto 12px;
    border: 2px solid #eceef2; border-top-color: var(--wp-accent);
    border-radius: 50%;
    animation: wpspin .8s linear infinite;
}
@keyframes wpspin { to { transform: rotate(360deg); } }
.wp-empty { padding: 70px 0; text-align: center; color: #b0b5bd; }
.wp-empty div:first-child { font-size: 38px; margin-bottom: 10px; }

/* ============================================================
   responsive
   ============================================================ */
@media (max-width: 1200px) {
    .wp-rank-item { grid-template-columns: 40px minmax(0, 1fr) 120px; }
    .wp-rank-desc { grid-column: 1 / -1; padding-left: 54px; }
}
@media (max-width: 980px) {
    .wp-layout { grid-template-columns: 1fr; }
    .wp-toc { display: none; }
    .wp-keystats { grid-template-columns: repeat(2, 1fr); }
    .wp-keystats > div:nth-child(3) { border-left: 0; }
    .wp-keystats > div:nth-child(n+3) { border-top: 1px solid var(--wp-line); }
    .wp-stats { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
    .wp-hero { padding: 28px 22px; }
    .wp-hero h1 { font-size: 24px; }
    .wp-banner { padding: 26px 22px; }
    .wp-banner h1 { font-size: 23px; }
    .wp-banner-wm { display: none; }
    .wp-sec { padding: 20px 18px 22px; }
    .wp-sec-lead { padding-left: 0; }
    .wp-grid { grid-template-columns: 1fr; }
    .wp-tier { grid-template-columns: 1fr; }
    .wp-rank-item { grid-template-columns: 36px minmax(0, 1fr); }
    .wp-rank-fit, .wp-rank-desc { grid-column: 1 / -1; padding-left: 50px; text-align: left; }
    .wp-cmp { min-width: 560px; }
}

/* ============================================================
   ADMIN / MANAGEMENT (expert_backend.php + admin.php)
   These classes are only used inside the management column.
   ============================================================ */
.wp-admin { padding: 18px 22px 40px; color: #1c2027; font-family: Arial, "Microsoft YaHei", sans-serif; }

.wp-adm-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 18px; flex-wrap: wrap; }
.wp-adm-head h2 { margin: 0 0 4px; font-size: 20px; font-weight: 800; }
.wp-adm-head p { margin: 0; font-size: 12px; color: #8a93a0; }
.wp-adm-actions { display: flex; gap: 10px; }

.wp-adm-table { background: #fff; border: 1px solid #eceef2; border-radius: 14px; overflow: hidden; box-shadow: 0 6px 18px rgba(28,32,39,.05); }
.wp-adm-table table { width: 100%; border-collapse: collapse; font-size: 13px; }
.wp-adm-table thead th { text-align: left; padding: 12px 14px; background: #f7f8fa; color: #6b7280; font-weight: 600; border-bottom: 1px solid #eceef2; font-size: 12px; }
.wp-adm-table tbody td { padding: 12px 14px; border-bottom: 1px solid #f1f3f6; vertical-align: middle; }
.wp-adm-table tbody tr:last-child td { border-bottom: 0; }
.wp-adm-table tbody tr:hover { background: #fafbfc; }

.wp-adm-name { display: flex; align-items: center; gap: 10px; }
.wp-adm-ic { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; color: #fff; font-weight: 800; font-size: 15px; flex-shrink: 0; }
.wp-adm-name strong { display: block; font-size: 13px; }
.wp-adm-name span { font-size: 11px; color: #98a1ad; }

.wp-theme-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 6px; vertical-align: middle; }
.wp-st-badge { display: inline-block; padding: 2px 9px; border-radius: 999px; font-size: 11px; font-weight: 600; }
.wp-st-badge.on { background: #e7f7ee; color: #1a8a4a; }
.wp-st-badge.off { background: #f1f3f6; color: #98a1ad; }

/* buttons */
.wp-btn { border: 1px solid #d8dce3; background: #fff; color: #3a4250; padding: 8px 16px; border-radius: 9px; font-size: 13px; cursor: pointer; transition: all .18s; font-weight: 600; }
.wp-btn:hover { border-color: #b9c0cb; background: #f7f8fa; }
.wp-btn-pri { background: linear-gradient(118deg, #23283a, #c22c33); color: #fff; border-color: transparent; }
.wp-btn-pri:hover { opacity: .92; background: linear-gradient(118deg, #23283a, #c22c33); }
.wp-mini { border: 1px solid #e0e3e9; background: #fff; color: #4a525f; padding: 5px 11px; border-radius: 7px; font-size: 12px; cursor: pointer; margin-left: 6px; transition: all .16s; }
.wp-mini:hover { border-color: #c2c8d2; background: #f6f7f9; }
.wp-mini.wp-on { color: #1a8a4a; border-color: #bfe6cd; }
.wp-mini.wp-off { color: #c98a1a; border-color: #f0d9ab; }
.wp-mini.wp-del { color: #c0392b; border-color: #f1c4bf; }
.wp-mini.wp-del:hover { background: #fdeceA; }

/* modal */
.wp-modal { display: none; position: fixed; inset: 0; background: rgba(20,23,32,.55); z-index: 9999; align-items: flex-start; justify-content: center; padding: 40px 16px; overflow-y: auto; }
.wp-modal.show { display: flex; }
.wp-modal-box { background: #fff; width: 100%; max-width: 860px; border-radius: 16px; box-shadow: 0 30px 80px rgba(0,0,0,.3); display: flex; flex-direction: column; max-height: calc(100vh - 80px); overflow: hidden; }
.wp-modal-loading { padding: 60px; }
.wp-modal-hd { display: flex; align-items: center; justify-content: space-between; padding: 16px 22px; border-bottom: 1px solid #eef0f4; }
.wp-modal-hd h3 { margin: 0; font-size: 16px; font-weight: 700; }
.wp-modal-hd span { font-size: 11px; color: #a3abb6; margin-left: 8px; }
.wp-modal-x { border: 0; background: #f1f3f6; color: #6b7280; width: 28px; height: 28px; border-radius: 8px; font-size: 18px; cursor: pointer; line-height: 1; }
.wp-modal-x:hover { background: #e6e9ee; }
.wp-modal-body { padding: 20px 22px; overflow-y: auto; }
.wp-modal-ft { display: flex; justify-content: flex-end; gap: 10px; padding: 14px 22px; border-top: 1px solid #eef0f4; background: #fafbfc; }

/* form */
.wp-form { display: block; }
.wp-fgrid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px 16px; }
.wp-field { display: flex; flex-direction: column; gap: 5px; margin-bottom: 14px; }
.wp-field label { font-size: 12px; color: #6b7280; font-weight: 600; }
.wp-in, .wp-ta { border: 1px solid #d8dce3; border-radius: 9px; padding: 9px 11px; font-size: 13px; font-family: inherit; color: #1c2027; background: #fff; width: 100%; box-sizing: border-box; transition: border-color .16s, box-shadow .16s; }
.wp-in:focus, .wp-ta:focus { outline: none; border-color: #c22c33; box-shadow: 0 0 0 3px rgba(194,44,51,.12); }
.wp-ta { resize: vertical; line-height: 1.6; font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; }
.wp-fgrid .wp-field { margin-bottom: 0; }

/* stat rows */
.wp-sec-edit { border: 1px solid #eef0f4; border-radius: 12px; padding: 14px 16px; margin: 4px 0 18px; background: #fbfcfd; }
.wp-sec-edit-hd { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.wp-sec-edit-hd span { font-size: 13px; font-weight: 700; color: #3a4250; }
.wp-stat-list { display: flex; flex-direction: column; gap: 8px; }
.wp-stat-row { display: grid; grid-template-columns: 1fr 1fr 1fr 34px; gap: 8px; align-items: center; }
.wp-stat-row .wp-del { margin: 0; }

/* section blocks */
.wp-sec-list { display: flex; flex-direction: column; gap: 14px; }
.wp-sec-block { border: 1px solid #e3e6ec; border-radius: 11px; padding: 14px; background: #fff; }
.wp-sec-block-hd { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.wp-sec-block-hd b { font-size: 13px; color: #3a4250; }
.wp-sec-block-hd .wp-sec-type { max-width: 160px; }
.wp-sec-block-hd .wp-del { margin-left: auto; }
.wp-sec-body-hd { display: flex; align-items: center; justify-content: space-between; margin: 4px 0 6px; }
.wp-sec-body-hd span { font-size: 12px; color: #8a93a0; font-weight: 600; }
.wp-sec-block .wp-fgrid { margin-bottom: 10px; }

@media (max-width: 720px) {
    .wp-fgrid { grid-template-columns: 1fr; }
    .wp-stat-row { grid-template-columns: 1fr 1fr; }
    .wp-stat-row .wp-del { grid-column: 1 / -1; }
}
