/* ==========================================================================
   孔雀河畔招聘网 · PC 端统一设计系统（pc-ui.css）
   参考首页效果图：白底、蓝色主色、大圆角卡片、浅阴影、紧凑列表行
   所有 PC 视图在 </head> 前引入本文件，作为最后一层样式（同优先级下覆盖页面内联样式）
   ========================================================================== */

:root {
    --pc-primary: #1E6FFF;
    --pc-primary-d: #0F52DB;
    --pc-grad: linear-gradient(135deg, #3D8BFF 0%, #1E5BFF 100%);
    --pc-text: #1a2233;
    --pc-text-2: #4a5568;
    --pc-text-3: #7c8798;
    --pc-text-4: #9aa4b2;
    --pc-line: #EDF0F5;
    --pc-bg: #F5F7FB;
    --pc-radius: 14px;
    --pc-shadow: 0 4px 16px rgba(20, 60, 140, .05);
    --pc-shadow-h: 0 8px 26px rgba(20, 60, 140, .10);
    --pc-wrap: 1200px;
}

body {
    background: var(--pc-bg) !important;
    color: var(--pc-text);
    font-family: "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}

a { color: inherit; }

.kq-wrap { max-width: var(--pc-wrap); margin: 0 auto; padding: 0 16px; }

/* ==========================================================================
   1. 全站统一头部（单行：logo + 导航 + 搜索 + 操作）
   ========================================================================== */
.kq-header {
    position: sticky;
    top: 0;
    z-index: 900;
    background: #fff;
    border-bottom: 1px solid var(--pc-line);
}
.kq-header__inner {
    max-width: var(--pc-wrap);
    margin: 0 auto;
    padding: 0 16px;
    height: 64px;
    display: flex;
    align-items: center;
    gap: 18px;
}
.kq-logo {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 9px;
    text-decoration: none;
}
.kq-logo img { height: 32px; width: auto; display: block; }
.kq-logo__txt {
    font-size: 11px;
    color: #8A94A6;
    line-height: 1.3;
    letter-spacing: .3px;
    white-space: nowrap;
}
.kq-logo__txt span { display: block; }

.kq-nav { flex: 0 0 auto; display: flex; align-items: center; }
.kq-nav > a,
.kq-navmore__btn {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 0 13px;
    height: 64px;
    line-height: 64px;
    font-size: 14.5px;
    color: #3B4657;
    text-decoration: none;
    white-space: nowrap;
    position: relative;
    transition: color .16s;
}
.kq-nav > a:hover,
.kq-navmore__btn:hover { color: var(--pc-primary); }
.kq-nav > a.active,
.kq-navmore__btn.active { color: var(--pc-primary); font-weight: 700; }
.kq-nav > a.active::after,
.kq-navmore__btn.active::after {
    content: '';
    position: absolute;
    left: 50%;
    margin-left: -10px;
    bottom: 16px;
    width: 20px;
    height: 3px;
    border-radius: 2px;
    background: var(--pc-primary);
}
.kq-navmore { position: relative; }
.kq-navmore__btn i { font-size: 11px; }
.kq-navmore__panel {
    display: none;
    position: absolute;
    left: 6px;
    top: 56px;
    min-width: 132px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(20, 60, 140, .13);
    padding: 6px;
    z-index: 960;
}
.kq-navmore:hover .kq-navmore__panel { display: block; }
.kq-navmore__panel a {
    display: block;
    padding: 8px 12px;
    font-size: 13.5px;
    color: var(--pc-text-2);
    text-decoration: none;
    border-radius: 7px;
}
.kq-navmore__panel a:hover { background: #F3F7FF; color: var(--pc-primary); }

.kq-headsearch {
    margin-left: auto;
    flex: 0 0 286px;
    width: 286px;
}
.kq-headsearch form { position: relative; width: 100%; }
.kq-headsearch .search-box__wrapper {
    display: flex;
    align-items: center;
    height: 36px;
    background: #F5F7FA;
    border: 1px solid #F5F7FA;
    border-radius: 18px;
    padding: 0 4px 0 12px;
    transition: border-color .16s, background .16s, box-shadow .16s;
}
.kq-headsearch .search-box__wrapper:focus-within {
    background: #fff;
    border-color: #BFD9FF;
    box-shadow: 0 0 0 3px rgba(30, 111, 255, .08);
}
.kq-headsearch .search-box__type { position: relative; display: flex; align-items: center; }
.kq-headsearch .kq-hs__lead { color: #A9B2C0; font-size: 14px; flex: 0 0 auto; margin-right: 7px; }
.kq-headsearch .search-box__type-btn {
    font-size: 12.5px;
    color: var(--pc-text-3);
    cursor: pointer;
    padding-right: 13px;
    position: relative;
    white-space: nowrap;
}
.kq-headsearch .search-box__type-btn::after {
    content: '';
    position: absolute;
    right: 3px; top: 50%;
    width: 4px; height: 4px;
    margin-top: -3px;
    border-right: 1.4px solid #A9B2C0;
    border-bottom: 1.4px solid #A9B2C0;
    transform: rotate(45deg);
}
.kq-headsearch .search-box__divider {
    width: 1px;
    height: 13px;
    background: #DFE4EC;
    margin-right: 9px;
}
.kq-headsearch .search-box__input {
    flex: 1;
    min-width: 0;
    border: none;
    background: none;
    outline: none;
    font-size: 13px;
    color: var(--pc-text);
    height: 100%;
}
.kq-headsearch .search-box__input::placeholder { color: #A9B2C0; }
.kq-headsearch .search-box__submit {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    border: none;
    border-radius: 50%;
    background: var(--pc-primary);
    color: #fff;
    font-size: 13px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background .16s;
}
.kq-headsearch .search-box__submit:hover { background: var(--pc-primary-d); }
.kq-headsearch .search-box__dropdown {
    display: none;
    position: absolute;
    left: 0;
    top: 42px;
    min-width: 142px;
    background: #fff;
    border-radius: 10px;
    box-shadow: var(--pc-shadow-h);
    padding: 6px;
    z-index: 950;
}
.kq-headsearch .search-box__dropdown.active { display: block; }
.kq-headsearch .search-box__dropdown a {
    display: block;
    padding: 8px 12px;
    font-size: 13px;
    color: var(--pc-text-2);
    text-decoration: none;
    border-radius: 7px;
}
.kq-headsearch .search-box__dropdown a:hover { background: #F3F7FF; color: var(--pc-primary); }

.kq-actions { flex: 0 0 auto; display: flex; align-items: center; gap: 4px; }
.kq-act {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--pc-text-3);
    font-size: 16px;
    text-decoration: none;
    position: relative;
}
.kq-act:hover { background: #F3F7FF; color: var(--pc-primary); }
.kq-act__dot {
    position: absolute;
    top: 6px; right: 7px;
    width: 7px; height: 7px;
    border-radius: 50%;
    background: #FF5A1F;
    border: 1.5px solid #fff;
}
.kq-btn {
    height: 34px;
    padding: 0 16px;
    border-radius: 17px;
    font-size: 13.5px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    white-space: nowrap;
    transition: all .16s;
}
.kq-btn--text { color: var(--pc-text-2); }
.kq-btn--text:hover { color: var(--pc-primary); }
.kq-btn--ghost { color: var(--pc-text-2); border: 1px solid #E3E8F0; background: #fff; }
.kq-btn--ghost:hover { color: var(--pc-primary); border-color: #BFD9FF; background: #F7FAFF; }
.kq-btn--primary { background: var(--pc-primary); color: #fff; box-shadow: 0 4px 12px rgba(30, 111, 255, .22); }
.kq-btn--primary:hover { background: var(--pc-primary-d); }

@media (max-width: 1240px) {
    .kq-nav > a,
    .kq-navmore__btn { padding: 0 9px; font-size: 14px; }
    .kq-headsearch { flex: 0 1 200px; }
}
@media (max-width: 1080px) {
    .kq-logo__txt { display: none; }
    .kq-navmore { display: none; }
    .kq-headsearch { display: none; }
}
/* 旧头部（少数页面未替换时）也收敛成白底 */
.top-bar { background: #F7F9FC !important; border-bottom: 1px solid var(--pc-line); }
.top-bar, .top-bar a { color: var(--pc-text-3) !important; }
.header { background: #fff !important; }
.main-nav { background: #fff !important; border-bottom: 1px solid var(--pc-line); }
.main-nav__link { color: var(--pc-text-2) !important; }
.main-nav__link.active { color: var(--pc-primary) !important; }

/* ==========================================================================
   2. 首页 Hero（全宽浅蓝 + 城市剪影 + 三段式搜索）
   ========================================================================== */
.kq-hero {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, #E9F3FF 0%, #F2F8FF 60%, #F7FBFF 100%);
    border-bottom: 1px solid #EFF4FC;
}
.kq-hero__skyline {
    position: absolute;
    right: 0;
    bottom: 0;
    height: 100%;
    width: auto;
    max-width: 62%;
    opacity: .85;
    z-index: 0;
    pointer-events: none;
}
.kq-hero__art {
    position: absolute;
    right: max(16px, calc((100% - 1200px) / 2));
    bottom: 0;
    width: 330px;
    z-index: 1;
    pointer-events: none;
}
.kq-hero__art svg { display: block; width: 100%; height: auto; }
.kq-hero__inner {
    position: relative;
    z-index: 2;
    max-width: var(--pc-wrap);
    margin: 0 auto;
    padding: 38px 16px 34px;
}
.kq-hero__text { max-width: 620px; }
.kq-hero h1 {
    font-size: 34px;
    line-height: 1.24;
    font-weight: 800;
    letter-spacing: -.6px;
    color: #0F1B2E;
    margin: 0;
}
.kq-hero h1 em { font-style: normal; color: var(--pc-primary); }
.kq-hero__sub {
    margin: 12px 0 0;
    font-size: 14.5px;
    color: #5A6B85;
    letter-spacing: .2px;
}

/* 三段式搜索条 */
.kq-hsearch {
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 8px;
    padding: 5px;
    margin-top: 24px;
    max-width: 620px;
    box-shadow: 0 10px 28px rgba(30, 91, 255, .10);
}
.kq-hsearch__key {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 10px;
}
.kq-hsearch__key i { color: #A9B2C0; font-size: 15px; flex: 0 0 auto; }
.kq-hsearch__key input {
    flex: 1;
    min-width: 0;
    height: 40px;
    border: 0;
    outline: 0;
    background: none;
    font-size: 14px;
    color: var(--pc-text);
}
.kq-hsearch__key input::placeholder { color: #A9B2C0; }
.kq-hsearch__sel {
    flex: 0 0 auto;
    position: relative;
    border-left: 1px solid #EEF1F6;
}
.kq-hsearch__sel select {
    height: 40px;
    border: 0;
    outline: 0;
    background: transparent;
    padding: 0 28px 0 14px;
    font-size: 13.5px;
    color: #44506A;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, #9AA4B2 50%), linear-gradient(135deg, #9AA4B2 50%, transparent 50%);
    background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%;
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
}
.kq-hsearch__sel select:hover { color: var(--pc-primary); }
.kq-hsearch__btn {
    flex: 0 0 auto;
    height: 40px;
    padding: 0 30px;
    margin-left: 4px;
    border: 0;
    border-radius: 6px;
    background: var(--pc-primary);
    color: #fff;
    font-size: 14.5px;
    font-weight: 600;
    cursor: pointer;
    transition: background .16s;
}
.kq-hsearch__btn:hover { background: var(--pc-primary-d); }

.kq-hero__hot {
    margin-top: 14px;
    font-size: 13px;
    color: #7C8798;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
}
.kq-hero__hot span { color: #9AA4B2; }
.kq-hero__hot a { color: #5A6B85; text-decoration: none; }
.kq-hero__hot a:hover { color: var(--pc-primary); }

.kq-hero__stats {
    display: flex;
    gap: 30px;
    margin-top: 18px;
    font-size: 12.5px;
    color: #6B7A92;
}
.kq-hero__stats b { font-size: 17px; font-weight: 800; color: var(--pc-primary); margin-right: 4px; }

/* ==========================================================================
   3. 快捷入口（左栏顶部 4 列）
   ========================================================================== */
.kq-quick {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}
.kq-quick__item {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    border-radius: 12px;
    padding: 14px 12px;
    text-decoration: none;
    box-shadow: 0 2px 10px rgba(20, 60, 140, .045);
    transition: transform .18s, box-shadow .18s;
}
.kq-quick__item:hover { transform: translateY(-2px); box-shadow: var(--pc-shadow-h); }
.kq-quick__ic {
    width: 34px;
    height: 34px;
    border-radius: 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex: 0 0 34px;
}
.kq-quick__name { display: block; font-size: 14.5px; font-weight: 600; color: var(--pc-text); white-space: nowrap; }
.kq-quick__desc { display: block; font-size: 11.5px; color: var(--pc-text-4); margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ==========================================================================
   4. 两栏主体
   ========================================================================== */
.kq-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 336px;
    gap: 16px;
    margin-top: 16px;
    align-items: start;
}
.kq-main-col,
.kq-col { display: flex; flex-direction: column; gap: 16px; min-width: 0; }

.kq-panel {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(20, 60, 140, .045);
    padding: 18px 20px;
}
.kq-panel--tight { padding: 16px 18px; }
.kq-panel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 6px;
}
.kq-panel__title {
    font-size: 17px;
    font-weight: 700;
    color: var(--pc-text);
    margin: 0;
    letter-spacing: -.2px;
    display: flex;
    align-items: center;
    gap: 14px;
}
.kq-panel__title span {
    font-size: 12.5px;
    font-weight: 400;
    color: var(--pc-text-4);
}
.kq-panel__more {
    font-size: 12.5px;
    color: var(--pc-text-4);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 2px;
}
.kq-panel__more:hover { color: var(--pc-primary); }

/* 面板内 tab（热门职位：最新 / 高薪） */
.kq-sec-tabs { display: flex; align-items: center; gap: 16px; margin-left: 4px; }
.kq-sec-tabs a {
    font-size: 13.5px;
    color: #7C8798;
    text-decoration: none;
    padding: 2px 0 3px;
    border-bottom: 2px solid transparent;
    line-height: 1.2;
}
.kq-sec-tabs a.active { color: var(--pc-primary); font-weight: 600; border-color: var(--pc-primary); }

/* 职位行（两列） */
.kq-jobs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 12px;
    margin-top: 6px;
}
.kq-job {
    display: flex;
    gap: 11px;
    padding: 13px 8px;
    border-radius: 10px;
    text-decoration: none;
    min-width: 0;
    transition: background .16s;
}
.kq-job:hover { background: #F7FAFF; }
.kq-job:hover .kq-job__name { color: var(--pc-primary); }
.kq-job__logo {
    width: 40px;
    height: 40px;
    border-radius: 9px;
    object-fit: cover;
    background: #F4F6FA;
    flex: 0 0 40px;
}
.kq-job__body { flex: 1; min-width: 0; }
.kq-job__row1 { display: flex; align-items: baseline; gap: 8px; }
.kq-job__name {
    flex: 1;
    min-width: 0;
    font-size: 14.5px;
    font-weight: 600;
    color: var(--pc-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.kq-job__salary {
    flex: 0 0 auto;
    font-size: 14.5px;
    font-weight: 700;
    color: #FF5A1F;
    white-space: nowrap;
}
.kq-job__meta {
    display: block;
    margin-top: 5px;
    font-size: 12px;
    color: var(--pc-text-3);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.kq-job__tags { margin-top: 7px; display: flex; flex-wrap: wrap; gap: 5px; }
.kq-tag {
    font-size: 11px;
    line-height: 1.55;
    padding: 1px 7px;
    border-radius: 4px;
    background: #F4F6FA;
    color: #67718A;
    white-space: nowrap;
}
.kq-tag--loc { background: #EDF4FF; color: #1E6FFF; }
.kq-tag--hot { background: #FFF0EC; color: #FF5A1F; }
.kq-tag--new { background: #EAF7F1; color: #0FA96A; }

/* 最新求职（两列） */
.kq-resumes { display: grid; grid-template-columns: 1fr 1fr; column-gap: 12px; margin-top: 6px; }
.kq-resume { display: flex; gap: 11px; padding: 12px 8px; border-radius: 10px; text-decoration: none; min-width: 0; transition: background .16s; }
.kq-resume:hover { background: #F7FAFF; }
.kq-resume__avatar { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; background: #F4F6FA; flex: 0 0 40px; }
.kq-resume__body { flex: 1; min-width: 0; }
.kq-resume__row { display: flex; align-items: baseline; gap: 8px; }
.kq-resume__who { flex: 1; min-width: 0; font-size: 14px; font-weight: 600; color: var(--pc-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kq-resume__salary { flex: 0 0 auto; font-size: 13.5px; font-weight: 700; color: #FF5A1F; }
.kq-resume__sub { display: block; margin-top: 4px; font-size: 12px; color: var(--pc-text-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kq-resume__job { display: block; margin-top: 3px; font-size: 12px; color: var(--pc-text-4); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* 侧栏：企业热招 */
.kq-comrow {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 0;
    text-decoration: none;
}
.kq-comrow + .kq-comrow { border-top: 1px solid #F4F6F9; }
.kq-comrow__logo {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    object-fit: cover;
    background: #F4F6FA;
    flex: 0 0 36px;
}
.kq-comrow__body { flex: 1; min-width: 0; }
.kq-comrow__name {
    display: block;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--pc-text);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.kq-comrow__meta { display: block; font-size: 11.5px; color: var(--pc-text-4); margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kq-comrow__btn {
    flex: 0 0 auto;
    font-size: 12px;
    color: var(--pc-primary);
    background: #F0F6FF;
    border-radius: 13px;
    padding: 4px 12px;
    text-decoration: none;
}
.kq-comrow:hover .kq-comrow__btn { background: var(--pc-primary); color: #fff; }

/* 侧栏：资讯 */
.kq-newsrow {
    display: flex;
    gap: 10px;
    padding: 10px 0;
    text-decoration: none;
}
.kq-newsrow + .kq-newsrow { border-top: 1px dashed #F0F3F8; }
.kq-newsrow__thumb {
    width: 56px;
    height: 42px;
    border-radius: 6px;
    object-fit: cover;
    background: #F0F4FA;
    flex: 0 0 56px;
}
.kq-newsrow__body { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: center; }
.kq-newsrow__title {
    font-size: 12.5px;
    color: var(--pc-text-2);
    line-height: 1.45;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.kq-newsrow__date { font-size: 11px; color: var(--pc-text-4); margin-top: 4px; }
.kq-newsrow:hover .kq-newsrow__title { color: var(--pc-primary); }

/* 侧栏：企业免费发布职位（蓝色渐变卡） */
.kq-postcard {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    padding: 20px;
    background: linear-gradient(135deg, #3B82F6 0%, #1D5BE8 100%);
    color: #fff;
    box-shadow: 0 10px 26px rgba(29, 91, 232, .22);
}
.kq-postcard__title { position: relative; z-index: 2; font-size: 16px; font-weight: 700; }
.kq-postcard__desc { position: relative; z-index: 2; font-size: 12.5px; color: rgba(255, 255, 255, .82); margin-top: 7px; line-height: 1.6; }
.kq-postcard__btn {
    position: relative;
    z-index: 2;
    display: inline-block;
    margin-top: 14px;
    height: 32px;
    line-height: 32px;
    padding: 0 16px;
    border-radius: 16px;
    background: #fff;
    color: #1D5BE8;
    font-size: 12.5px;
    font-weight: 600;
    text-decoration: none;
}
.kq-postcard__btn:hover { background: #F2F7FF; }
.kq-postcard__art { position: absolute; right: -6px; bottom: -4px; width: 132px; opacity: .26; z-index: 1; }

/* 侧栏：服务 / 链接 */
.kq-servicelist { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 4px; }
.kq-servicelist a {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 9px 10px;
    border-radius: 9px;
    background: #F7F9FC;
    font-size: 12.5px;
    color: var(--pc-text-2);
    text-decoration: none;
}
.kq-servicelist a:hover { background: #F0F6FF; color: var(--pc-primary); }
.kq-servicelist i { font-size: 14px; color: var(--pc-primary); }
.kq-links { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 4px; }
.kq-links a { font-size: 12px; color: var(--pc-text-4); text-decoration: none; }
.kq-links a:hover { color: var(--pc-primary); }

/* 底部会员条（左栏内） */
.kq-cta {
    display: flex;
    align-items: center;
    gap: 16px;
    background: linear-gradient(90deg, #E9F2FF 0%, #F4F9FF 100%);
    border-radius: 12px;
    padding: 16px 20px;
}
.kq-cta__ic {
    flex: 0 0 40px;
    width: 40px; height: 40px;
    border-radius: 10px;
    background: var(--pc-primary);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 19px;
}
.kq-cta__title { font-size: 14.5px; font-weight: 700; color: #12203C; white-space: nowrap; }
.kq-cta__desc { font-size: 11.5px; color: #6B7A92; margin-top: 4px; white-space: nowrap; }
.kq-cta__btn {
    flex: 0 0 auto;
    height: 32px;
    padding: 0 18px;
    border-radius: 16px;
    background: var(--pc-primary);
    color: #fff !important;
    font-size: 12.5px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    white-space: nowrap;
}
.kq-cta__btn:hover { background: var(--pc-primary-d); }
.kq-cta__spots { display: flex; flex: 1; gap: 20px; justify-content: flex-end; }
.kq-cta__spot { display: flex; align-items: center; gap: 6px; font-size: 12px; color: #5A6B85; white-space: nowrap; }
.kq-cta__spot i { color: var(--pc-primary); font-size: 13px; }

@media (max-width: 1180px) {
    .kq-grid { grid-template-columns: minmax(0, 1fr) 300px; }
    .kq-hero__art { width: 240px; }
    .kq-cta__spots { gap: 12px; }
}
@media (max-width: 1024px) {
    .kq-quick { grid-template-columns: repeat(2, 1fr); }
    .kq-jobs, .kq-resumes { grid-template-columns: 1fr; }
    .kq-grid { grid-template-columns: 1fr; }
    .kq-hero__art, .kq-hero__skyline { display: none; }
    .kq-cta__spots { display: none; }
}

/* ==========================================================================
   5. 兼容既有页面的通用收敛（列表 / 卡片 / 表单 / 按钮）
   ========================================================================== */
.content-wrapper {
    width: 100% !important;
    max-width: var(--pc-wrap) !important;
    margin: 0 auto !important;
}
.page-container { background: transparent !important; min-height: 100vh; }
.mt-25 { margin-top: 20px !important; }
.pb-30 { padding-bottom: 30px !important; }

.card,
.job-section,
.resume-section,
.links-section,
.article-list-container,
.sidebar .card {
    background: #fff !important;
    border-radius: var(--pc-radius) !important;
    box-shadow: var(--pc-shadow) !important;
    border: none !important;
}

.section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--pc-line);
    margin-bottom: 6px;
}
.section-header__title,
.section-header__title b {
    font-size: 19px !important;
    font-weight: 700 !important;
    color: var(--pc-text) !important;
}
.section-header__more { font-size: 13px !important; color: var(--pc-text-3) !important; text-decoration: none; }
.section-header__more:hover { color: var(--pc-primary) !important; }

/* layui 表单统一主色（不覆盖按钮，避免破坏页面自带标签样式） */
.layui-form-select dl dd.layui-this,
.layui-form-checked[lay-skin=primary] i,
.layui-form-onswitch { border-color: var(--pc-primary) !important; background-color: var(--pc-primary) !important; }
.layui-input:focus, .layui-textarea:focus { border-color: #BFD9FF !important; box-shadow: 0 0 0 3px rgba(30, 111, 255, .08) !important; }
.layui-table thead tr { background: #F8FAFD !important; }
.layui-table th { color: var(--pc-text-2); font-weight: 600; }
.layui-laypage .layui-laypage-curr .layui-laypage-em { background-color: var(--pc-primary); }

/* 列表标签：统一成浅灰胶囊（原页面用 .bl-tag） */
.bl-tag {
    display: inline-block;
    background: #F4F6FA !important;
    color: #67718A !important;
    border: none !important;
    border-radius: 5px !important;
    padding: 2px 8px !important;
    font-size: 11.5px !important;
    line-height: 1.6 !important;
    margin: 0 6px 6px 0 !important;
}
.bl-tag:first-child {
    background: #EDF4FF !important;
    color: #1E6FFF !important;
}

/* ==========================================================================
   6. 页脚（覆盖 public/footer.html 内的旧配色）
   ========================================================================== */
.kq-footer {
    background: #fff !important;
    color: var(--pc-text-3) !important;
    border-top: 1px solid var(--pc-line);
    padding: 26px 15px !important;
    margin-top: 30px !important;
    font-size: 12.5px !important;
    line-height: 2 !important;
}
.kq-footer a { color: var(--pc-text-3) !important; }
.kq-footer a:hover { color: var(--pc-primary) !important; }

/* ==========================================================================
   7. 响应式（PC 为主，窄屏时降级为单列）
   ========================================================================== */
@media (max-width: 1180px) {
    .kq-nav a { padding: 7px 9px; font-size: 14px; }
    .kq-headsearch { max-width: 360px; }
}
@media (max-width: 1024px) {
    .kq-grid { grid-template-columns: minmax(0, 1fr); }
    .kq-quick { grid-template-columns: repeat(2, 1fr); }
    .kq-jobs { grid-template-columns: 1fr; }
    .kq-job:nth-last-child(-n+2) { border-bottom: 1px dashed #EEF1F6; }
    .kq-job:last-child { border-bottom: none; }
    .kq-hero { padding: 34px 26px 30px; }
    .kq-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 22px; }
    .kq-hero__stats { justify-content: flex-start; }
    .kq-hero__stat { min-width: 92px; padding: 14px 16px; }
    .kq-hero h1 { font-size: 28px; }
    .kq-nav { overflow-x: auto; }
    .kq-headsearch { max-width: 260px; }
}

/* ==========================================================================
   8. 首页补充组件（资讯块 / 简历行 / 服务入口 / 友链）
   ========================================================================== */
.kq-main { padding-bottom: 30px; }

/* 内联元素需要恢复块级/弹性，才能生效省略号与间距 */
.kq-quick__name,
.kq-quick__desc,
.kq-job__com,
.kq-comrow__name,
.kq-comrow__meta,
.kq-resume__sub,
.kq-resume__job { display: block; }

/* 资讯块：轮播 + 动态标签 */
.kq-newsblock {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: 18px;
    margin-top: 14px;
}
.kq-banner {
    border-radius: 12px;
    overflow: hidden;
    height: 268px;
    background: #F4F6FA;
}
.kq-banner .layui-carousel,
.kq-banner .layui-carousel > [carousel-item] > div { height: 268px; }
.kq-banner img { width: 100%; height: 268px; object-fit: cover; display: block; }
.kq-banner__empty {
    height: 268px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--pc-text-4);
    font-size: 13px;
}
.kq-tabs { min-width: 0; }
.kq-tabs__nav {
    display: flex;
    gap: 18px;
    border-bottom: 1px solid var(--pc-line);
}
.kq-tabs__item {
    font-size: 14px;
    color: var(--pc-text-3);
    cursor: pointer;
    padding: 0 0 9px;
    position: relative;
}
.kq-tabs__item.active { color: var(--pc-text); font-weight: 700; }
.kq-tabs__item.active::after {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: -1px;
    height: 2px;
    border-radius: 2px;
    background: var(--pc-primary);
}
.kq-newsline {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 9px 0;
    text-decoration: none;
    border-bottom: 1px dashed #F1F3F7;
}
.kq-newsline:last-child { border-bottom: none; }
.kq-newsline__t {
    flex: 1;
    min-width: 0;
    font-size: 13.5px;
    color: var(--pc-text-2);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.kq-newsline__d { flex: 0 0 auto; font-size: 11.5px; color: var(--pc-text-4); }
.kq-newsline:hover .kq-newsline__t { color: var(--pc-primary); }

/* 头条条 */
.kq-headline {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 14px;
    padding: 12px 14px;
    background: #F7FAFF;
    border-radius: 10px;
    text-decoration: none;
}
.kq-headline__flag {
    flex: 0 0 auto;
    font-size: 11.5px;
    color: #fff;
    background: var(--pc-grad);
    padding: 2px 8px;
    border-radius: 5px;
}
.kq-headline__t {
    flex: 1;
    min-width: 0;
    font-size: 14px;
    font-weight: 600;
    color: #12203c;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.kq-headline:hover .kq-headline__t { color: var(--pc-primary); }

/* 最新求职（两列） */
.kq-resumes {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 28px;
    margin-top: 4px;
}
.kq-resume {
    display: flex;
    gap: 12px;
    padding: 16px 0;
    border-bottom: 1px dashed #EEF1F6;
    text-decoration: none;
    min-width: 0;
}
.kq-resume:nth-last-child(-n+2) { border-bottom: none; }
.kq-resume__avatar {
    width: 42px; height: 42px;
    border-radius: 50%;
    object-fit: cover;
    background: #F4F6FA;
    flex: 0 0 42px;
}
.kq-resume__body { flex: 1; min-width: 0; }
.kq-resume__row { display: flex; align-items: baseline; gap: 10px; }
.kq-resume__who {
    flex: 1;
    min-width: 0;
    font-size: 14.5px;
    font-weight: 600;
    color: var(--pc-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.kq-resume__salary { flex: 0 0 auto; font-size: 14px; font-weight: 700; color: #FF5A1F; }
.kq-resume__sub {
    margin-top: 4px;
    font-size: 12px;
    color: var(--pc-text-3);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.kq-resume__job {
    margin-top: 4px;
    font-size: 12.5px;
    color: var(--pc-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.kq-resume:hover .kq-resume__who { color: var(--pc-primary); }

/* 侧栏服务入口 */
.kq-servicelist {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 12px;
}
.kq-servicelist a {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--pc-text-2);
    text-decoration: none;
    padding: 9px 10px;
    border-radius: 9px;
    background: #F7F9FC;
}
.kq-servicelist a:hover { background: #EEF4FF; color: var(--pc-primary); }
.kq-servicelist i { font-size: 14px; }

/* 友情链接 */
.kq-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.kq-links a {
    font-size: 12.5px;
    color: var(--pc-text-3);
    text-decoration: none;
    padding: 4px 10px;
    border-radius: 14px;
    background: #F7F9FC;
}
.kq-links a:hover { background: #EEF4FF; color: var(--pc-primary); }

@media (max-width: 1024px) {
    .kq-newsblock { grid-template-columns: minmax(0, 1fr); }
    .kq-resumes { grid-template-columns: 1fr; }
    .kq-resume:nth-last-child(-n+2) { border-bottom: 1px dashed #EEF1F6; }
    .kq-resume:last-child { border-bottom: none; }
}

/* ==========================================================================
   9. 详情页：沟通按钮 / 举报弹层（PC 职位详情 + 简历详情共用）
   ========================================================================== */
.jd-chat-btn {
    background: #059669 !important;
    color: #fff !important;
    border: none !important;
}
.jd-chat-btn--off {
    background: #EEF1F6 !important;
    color: #8B96A8 !important;
    cursor: not-allowed;
}

.rd-report > span { flex: 1; min-width: 0; }
.rd-report__btn {
    flex: 0 0 auto;
    height: 32px;
    padding: 0 16px;
    border-radius: 16px;
    border: 1px solid #F1D5A8;
    background: #fff;
    color: #B45309;
    font-size: 13px;
    cursor: pointer;
    transition: all .16s;
}
.rd-report__btn:hover { background: #FFF7E6; }

.kq-rp-mask {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(16, 24, 40, .45);
}
.kq-rp-mask.on { display: flex; }
.kq-rp {
    width: 470px;
    max-width: calc(100vw - 32px);
    background: #fff;
    border-radius: 16px;
    padding: 22px 24px 20px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .2);
}
.kq-rp__title { font-size: 18px; font-weight: 700; color: var(--pc-text); }
.kq-rp__sub { font-size: 12.5px; color: var(--pc-text-3); margin-top: 5px; }
.kq-rp__labels { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 2px; }
.kq-rp__chip {
    font-size: 13px;
    padding: 7px 14px;
    border-radius: 18px;
    background: #F4F6FA;
    color: var(--pc-text-2);
    border: 1px solid transparent;
    cursor: pointer;
    transition: all .14s;
}
.kq-rp__chip:hover { background: #EDF4FF; color: var(--pc-primary); }
.kq-rp__chip.on {
    background: #EDF4FF;
    color: var(--pc-primary);
    border-color: #BFD9FF;
    font-weight: 600;
}
.kq-rp__area,
.kq-rp__input {
    width: 100%;
    border: 1px solid #E3E8F0;
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 13px;
    color: var(--pc-text);
    margin-top: 10px;
    outline: none;
    font-family: inherit;
}
.kq-rp__area { height: 88px; resize: none; }
.kq-rp__area:focus,
.kq-rp__input:focus { border-color: #BFD9FF; box-shadow: 0 0 0 3px rgba(30, 111, 255, .08); }
.kq-rp__foot { display: flex; justify-content: flex-end; gap: 10px; margin-top: 16px; }
.kq-rp__btn {
    height: 38px;
    padding: 0 20px;
    border-radius: 19px;
    font-size: 14px;
    border: none;
    cursor: pointer;
}
.kq-rp__btn--ghost { background: #F4F6FA; color: var(--pc-text-2); }
.kq-rp__btn--ghost:hover { background: #EDF0F5; }
.kq-rp__btn--primary { background: var(--pc-grad); color: #fff; box-shadow: 0 6px 16px rgba(30, 91, 255, .22); }
.kq-rp__btn--primary:hover { filter: brightness(1.05); }

/* ==========================================================================
   6. 列表页（找工作 / 找人才 / 找企业）：两列紧凑卡
   ========================================================================== */
.section-header { padding: 4px 0 14px !important; border: 0 !important; }
.section-header__title {
    padding-left: 0 !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    color: var(--pc-text) !important;
    letter-spacing: -.2px;
}
.section-header__title::before { display: none !important; }
.section-header__count {
    background: #fff !important;
    border: 0 !important;
    border-radius: 14px !important;
    padding: 5px 14px !important;
    font-size: 12.5px !important;
    color: var(--pc-text-3) !important;
    box-shadow: 0 2px 8px rgba(20, 60, 140, .045);
}
.section-header__count b { color: var(--pc-primary) !important; }

.bl-list { display: grid !important; grid-template-columns: 1fr 1fr; gap: 12px; padding: 0 !important; }
.bl-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px;
    margin-bottom: 0 !important;
    padding: 16px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 2px 10px rgba(20, 60, 140, .045) !important;
    text-decoration: none;
    transition: box-shadow .18s, transform .18s;
}
.bl-item:hover {
    border: 0 !important;
    box-shadow: 0 8px 24px rgba(20, 60, 140, .10) !important;
    transform: translateY(-2px);
}
.bl-item__logo,
.bl-item__avatar {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border-radius: 10px;
    overflow: hidden;
    background: #F4F6FA;
}
.bl-item__avatar { border-radius: 50%; }
.bl-item__logo img,
.bl-item__avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bl-item__main { flex: 1; min-width: 0; }
.bl-item__head { display: flex; align-items: baseline; gap: 8px; }
.bl-item__title {
    flex: 1;
    min-width: 0;
    margin: 0 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--pc-text) !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.bl-item__title a { color: inherit !important; text-decoration: none; }
.bl-item:hover .bl-item__title { color: var(--pc-primary) !important; }
.bl-item__salary {
    flex: 0 0 auto;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #FF5A1F !important;
    white-space: nowrap;
}
.bl-item__sub {
    margin-top: 5px !important;
    font-size: 12.5px !important;
    color: var(--pc-text-3) !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.bl-item__tags { margin-top: 8px !important; display: flex; flex-wrap: wrap; gap: 6px; }
.bl-tag {
    font-size: 11px !important;
    line-height: 1.55 !important;
    padding: 1px 7px !important;
    border-radius: 4px !important;
    background: #F4F6FA !important;
    color: #67718A !important;
    white-space: nowrap;
}
.bl-tag--primary { background: #EDF4FF !important; color: #1E6FFF !important; }
.bl-item__time {
    position: absolute;
    right: 16px;
    bottom: 13px;
    font-size: 11px;
    color: #B7C0CD;
}
.bl-item__side { display: none !important; }

/* 列表筛选条 */
.kq-filter {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    background: #fff;
    border-radius: 12px;
    padding: 12px 14px;
    margin-bottom: 16px;
    box-shadow: 0 2px 10px rgba(20, 60, 140, .045);
}
.kq-filter input[type="text"] {
    flex: 1 1 240px;
    min-width: 180px;
    height: 36px;
    border: 1px solid #E7EBF2;
    border-radius: 8px;
    padding: 0 12px;
    font-size: 13px;
    color: var(--pc-text);
    outline: none;
    transition: border-color .16s;
}
.kq-filter input[type="text"]:focus { border-color: #BFD9FF; }
.kq-filter select {
    height: 36px;
    border: 1px solid #E7EBF2;
    border-radius: 8px;
    padding: 0 30px 0 12px;
    font-size: 13px;
    color: #3B4657;
    background: #fff;
    outline: none;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, #9AA4B2 50%), linear-gradient(135deg, #9AA4B2 50%, transparent 50%);
    background-position: calc(100% - 16px) 50%, calc(100% - 11px) 50%;
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
}
.kq-filter__btn {
    height: 36px;
    padding: 0 22px;
    border: 0;
    border-radius: 8px;
    background: var(--pc-primary);
    color: #fff;
    font-size: 13px;
    cursor: pointer;
}
.kq-filter__btn:hover { background: var(--pc-primary-d); }
.kq-filter__reset { font-size: 13px; color: var(--pc-text-3); text-decoration: none; }
.kq-filter__reset:hover { color: var(--pc-primary); }

/* 分页居中 */
.pagination-wrapper { display: flex; justify-content: center; margin-top: 22px; }

@media (max-width: 1024px) {
    .bl-list { grid-template-columns: 1fr; }
}

/* ==========================================================================
   7. PC 会员中心（个人 / 企业）
   ========================================================================== */
.member-main {
    max-width: var(--pc-wrap) !important;
    margin: 20px auto !important;
    padding: 0 16px !important;
    display: flex !important;
    gap: 16px;
    align-items: flex-start;
}
.member-sidebar { flex: 0 0 240px !important; width: 240px !important; }
.member-content { flex: 1 !important; min-width: 0; display: flex; flex-direction: column; gap: 16px; }

.user-info-card {
    background: linear-gradient(160deg, #3B82F6 0%, #1D5BE8 100%) !important;
    border-radius: 14px !important;
    padding: 22px 16px 18px !important;
    color: #fff !important;
    text-align: center;
    box-shadow: 0 8px 22px rgba(29, 91, 232, .20) !important;
}
.user-avatar {
    width: 72px !important;
    height: 72px !important;
    border-radius: 50% !important;
    border: 3px solid rgba(255, 255, 255, .34) !important;
    object-fit: cover;
    margin: 0 auto !important;
    display: block;
}
.user-name {
    font-size: 15px !important;
    font-weight: 600 !important;
    margin-top: 10px !important;
    color: #fff !important;
    letter-spacing: .3px;
}
.user-stats {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    background: rgba(255, 255, 255, .15) !important;
    border-radius: 10px !important;
    padding: 10px 0 !important;
    margin-top: 16px !important;
    gap: 0 !important;
}
.stat-item { border: 0 !important; padding: 0 !important; }
.stat-item + .stat-item { border-left: 1px solid rgba(255, 255, 255, .18) !important; }
.stat-num { font-size: 18px !important; font-weight: 800 !important; color: #fff !important; line-height: 1.2; }
.stat-text { font-size: 11px !important; color: rgba(255, 255, 255, .78) !important; margin-top: 3px !important; }

.user-auth-tags {
    display: flex !important;
    flex-direction: column;
    gap: 6px;
    margin-top: 14px !important;
}
.auth-item {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-size: 11.5px !important;
    padding: 4px 10px !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, .16) !important;
    color: #fff !important;
    border: 0 !important;
}
.auth-item a { color: #fff !important; text-decoration: none; }
.auth-item.auth-fail { background: rgba(255, 255, 255, .1) !important; color: rgba(255, 255, 255, .82) !important; }

.sidebar-nav {
    background: #fff !important;
    border-radius: 14px !important;
    padding: 8px !important;
    margin-top: 12px !important;
    box-shadow: 0 2px 10px rgba(20, 60, 140, .05) !important;
}
.nav-group-title {
    font-size: 11.5px !important;
    color: #A6B0BF !important;
    padding: 12px 10px 6px !important;
    margin: 0 !important;
    font-weight: 500 !important;
    letter-spacing: .4px;
}
.nav-item {
    display: flex !important;
    align-items: center;
    gap: 9px;
    padding: 9px 10px !important;
    border-radius: 9px !important;
    font-size: 13.5px !important;
    color: #4A5568 !important;
    text-decoration: none;
    transition: background .16s, color .16s;
}
.nav-item:hover { background: #F5F9FF !important; color: var(--pc-primary) !important; }
.nav-item.active { background: #EDF4FF !important; color: var(--pc-primary) !important; font-weight: 600 !important; }
.nav-item i { width: 16px; text-align: center; font-size: 13.5px; flex: 0 0 16px; }

.member-content .section {
    background: #fff !important;
    border-radius: 14px !important;
    padding: 18px 20px 22px !important;
    box-shadow: 0 2px 10px rgba(20, 60, 140, .05) !important;
    border: 0 !important;
}
.member-content .section-header {
    padding: 0 0 12px !important;
    border: 0 !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.member-content .section-title {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: var(--pc-text) !important;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}
.member-content .section-title::before { display: none !important; }
.member-content .section-title i { color: var(--pc-primary); font-size: 15px; }

.tab-nav {
    display: flex !important;
    gap: 26px !important;
    border-bottom: 1px solid #EEF1F6 !important;
    background: none !important;
    padding: 0 !important;
    margin: 0 0 4px !important;
    border-radius: 0 !important;
}
.tab-item {
    padding: 9px 0 11px !important;
    font-size: 13.5px !important;
    color: #7C8798 !important;
    cursor: pointer;
    border: 0 !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    background: none !important;
    margin: 0 !important;
}
.tab-item.active {
    color: var(--pc-primary) !important;
    font-weight: 600 !important;
    border-bottom-color: var(--pc-primary) !important;
    background: none !important;
}

.member-content .empty-state {
    padding: 44px 0 !important;
    text-align: center;
    background: #FAFBFD !important;
    border-radius: 12px;
    margin: 6px 0 0 !important;
}
.member-content .empty-state i {
    font-size: 32px !important;
    color: #D7DEE9 !important;
    margin-bottom: 10px !important;
}
.member-content .empty-state p { font-size: 13px !important; color: #97A1B0 !important; margin: 0 !important; }

.member-content .apply-item {
    background: #FAFBFD !important;
    border: 0 !important;
    border-radius: 10px !important;
    padding: 14px 16px !important;
    margin-top: 10px !important;
}
.member-content .apply-item .apply-title { font-size: 14px !important; font-weight: 600 !important; color: var(--pc-text) !important; }
.member-content .meta-item { font-size: 12px !important; color: var(--pc-text-3) !important; }

@media (max-width: 1024px) {
    .member-main { flex-direction: column; }
    .member-sidebar { flex: 1 1 auto !important; width: 100% !important; }
}

/* ==========================================================================
   8. 招聘会 / 网络招聘会 / 直播带岗 列表卡片
   ========================================================================== */
.zph-header {
    background: #fff !important;
    border-radius: 14px !important;
    padding: 20px 22px !important;
    margin-bottom: 16px !important;
    box-shadow: 0 2px 10px rgba(20, 60, 140, .05);
    border: 0 !important;
}
.zph-title {
    font-size: 21px !important;
    font-weight: 700 !important;
    color: var(--pc-text) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    position: static !important;
}
.zph-title::after,
.zph-title::before { display: none !important; }
.zph-subtitle { margin-top: 8px !important; font-size: 13px !important; color: var(--pc-text-3) !important; }

.recruitment-fair-container {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 16px !important;
    align-items: stretch;
}
.recruitment-fair-item {
    display: flex !important;
    flex-direction: column;
    background: #fff !important;
    border: 0 !important;
    border-radius: 12px !important;
    padding: 18px !important;
    box-shadow: 0 2px 10px rgba(20, 60, 140, .05) !important;
    transition: box-shadow .18s, transform .18s;
}
.recruitment-fair-item:hover { box-shadow: 0 8px 24px rgba(20, 60, 140, .10) !important; transform: translateY(-2px); }
.recruitment-fair-item .layui-btn {
    align-self: flex-start;
    width: auto !important;
    min-width: 108px;
    height: 34px !important;
    line-height: 34px !important;
    padding: 0 20px !important;
    border-radius: 17px !important;
    background: var(--pc-primary) !important;
    font-size: 13px !important;
    margin-top: auto !important;
}
.recruitment-fair-item .layui-btn:hover { background: var(--pc-primary-d) !important; }

@media (max-width: 1024px) {
    .recruitment-fair-container { grid-template-columns: 1fr 1fr !important; }
}

/* 会员中心：tab 收紧 + 岗位操作按钮统一 */
.tab-container { background: none !important; border: 0 !important; box-shadow: none !important; }
.tab-nav {
    border: 0 !important;
    border-bottom: 1px solid #EEF1F6 !important;
    border-radius: 0 !important;
    background: none !important;
    padding: 0 !important;
}
.tab-item {
    flex: 0 0 auto !important;
    width: auto !important;
    border: 0 !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
}
.tab-item.active { border-bottom-color: var(--pc-primary) !important; background: none !important; }

.member-content .btn-edit {
    background: #F6F8FC !important;
    color: #4A5568 !important;
    border: 1px solid #E7EBF2 !important;
    border-radius: 8px !important;
    padding: 6px 14px !important;
    font-size: 12.5px !important;
    line-height: 1.5 !important;
    box-shadow: none !important;
}
.member-content .btn-edit:hover { background: #EDF4FF !important; color: var(--pc-primary) !important; border-color: #CDE0FF !important; }
.member-content .btn-edit:last-child {
    background: #FEF4F4 !important;
    color: #DC2626 !important;
    border-color: #FBD9D9 !important;
}
.member-content .btn-primary {
    background: var(--pc-primary) !important;
    border: 0 !important;
    border-radius: 8px !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(30, 111, 255, .2) !important;
}
.member-content .btn-default {
    background: #F6F8FC !important;
    border: 1px solid #E7EBF2 !important;
    border-radius: 8px !important;
    color: #97A1B0 !important;
    box-shadow: none !important;
}

/* ==========================================================================
   9. 资讯列表页 / 详情页点缀 / 空状态 / 页脚贴底（第二轮精修）
   ========================================================================== */

/* 9.1 页脚贴底：短页面（登录、注册、空列表）不留灰色断层 */
body {
    min-height: 100vh !important;
    display: flex !important;
    flex-direction: column !important;
}
body > .page-container,
body > .bg {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 100vh !important;
}
body .kq-footer { margin-top: auto !important; flex: 0 0 auto; }
/* flex 纵向布局下，除页脚外的直接子块都不参与压缩，避免长页面被裁 */
body > .page-container > *,
body > .bg > * { flex-shrink: 0; }
body .kq-footer { flex-shrink: 0; }

/* 9.2 面包屑 */
.location {
    float: none !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    background: none !important;
    font-size: 13px !important;
    color: var(--pc-text-3) !important;
    line-height: 1.6 !important;
}
.location a { color: var(--pc-text-3) !important; text-decoration: none; }
.location a:hover { color: var(--pc-primary) !important; }

/* 9.3 资讯两栏：容器透明，侧栏与列表各自成卡 */
.article-list-container {
    display: flex !important;
    align-items: flex-start !important;
    gap: 16px !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    padding: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.article-list-container .sidebar {
    flex: 0 0 208px !important;
    width: 208px !important;
    background: #fff !important;
    border-radius: var(--pc-radius) !important;
    box-shadow: var(--pc-shadow) !important;
    border: 0 !important;
    padding: 10px !important;
    float: none !important;
}
.article-list-container .sidebar-menu { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.article-list-container .sidebar-menu li {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
}
.article-list-container .sidebar-menu li a {
    display: block !important;
    padding: 11px 14px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: var(--pc-text-2) !important;
    text-decoration: none !important;
    border: 0 !important;
    transition: background .16s, color .16s;
}
.article-list-container .sidebar-menu li a:hover { background: #F4F7FC !important; color: var(--pc-primary) !important; }
.article-list-container .sidebar-menu li.active a {
    background: #EDF4FF !important;
    color: var(--pc-primary) !important;
    font-weight: 600 !important;
}
.article-list-container .sidebar-right { flex: 1 1 auto !important; min-width: 0 !important; width: auto !important; float: none !important; }

.lists {
    background: #fff !important;
    border-radius: var(--pc-radius) !important;
    box-shadow: var(--pc-shadow) !important;
    border: 0 !important;
    padding: 4px 24px !important;
}
.lists ul { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.lists ul li {
    border: 0 !important;
    border-bottom: 1px solid #F2F5FA !important;
    background: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.lists ul li:last-child { border-bottom: 0 !important; }
.lists ul li a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    padding: 15px 0 !important;
    border: 0 !important;
    text-decoration: none !important;
    background: none !important;
}
.lists ul li a p {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    font-size: 14.5px !important;
    line-height: 1.6 !important;
    color: var(--pc-text) !important;
    transition: color .16s;
}
.lists ul li a:hover p { color: var(--pc-primary) !important; }
.lists ul li a span {
    flex: 0 0 150px !important;
    width: 150px !important;
    margin: 0 !important;
    text-align: right !important;
    font-size: 12.5px !important;
    color: var(--pc-text-4) !important;
}

/* 9.4 分页统一 */
.simple-pagination { text-align: center !important; padding: 20px 0 4px !important; }
.simple-pagination li { float: none !important; display: inline-block !important; }
.simple-pagination a,
.simple-pagination span {
    display: inline-block !important;
    padding: 8px 15px !important;
    margin: 0 4px !important;
    border-radius: 8px !important;
    border: 1px solid #E7EBF2 !important;
    background: #fff !important;
    color: var(--pc-text-2) !important;
    font-size: 13.5px !important;
    box-shadow: none !important;
    transform: none !important;
}
.simple-pagination a:hover,
.simple-pagination .active span {
    background: var(--pc-primary) !important;
    border-color: var(--pc-primary) !important;
    color: #fff !important;
}

/* 9.5 详情页右栏：公众号卡片改白卡，去掉整块绿底 */
.jd-qrcode,
.rd-qrcode {
    background: #fff !important;
    border: 1px solid var(--pc-line) !important;
    border-radius: var(--pc-radius) !important;
    box-shadow: var(--pc-shadow) !important;
    padding: 18px 16px !important;
}
.jd-qrcode__title, .rd-qrcode__title { color: var(--pc-text) !important; font-size: 14.5px !important; }
.jd-qrcode__sub, .rd-qrcode__sub { color: var(--pc-text-4) !important; }
.jd-qrcode img, .rd-qrcode img {
    width: 132px !important;
    height: 132px !important;
    border: 1px solid #EEF1F6 !important;
    border-radius: 10px !important;
    background: #fff;
}

/* 9.6 举报提示条：浅黄 → 轻描边提示 */
.rd-report {
    background: #FEF7F7 !important;
    border: 1px solid #FBE3E3 !important;
    border-left: 1px solid #FBE3E3 !important;
    border-radius: 12px !important;
    color: #A8524F !important;
    font-size: 13px !important;
    padding: 13px 20px !important;
}
.rd-report__btn {
    background: #fff !important;
    border: 1px solid #F3D2D2 !important;
    color: #D14343 !important;
    border-radius: 16px !important;
    padding: 5px 16px !important;
    font-size: 12.5px !important;
}

/* 9.7 列表/详情卡片内的标题层级收敛（避免字号过大挤行） */
.lists ul li a p,
.bl-item__title { word-break: break-word; }

/* 9.8 空状态统一 */
.no-zph-data,
.no-zphnet-data,
.recruitment-fair-container > .no-zph-data,
.recruitment-fair-container > .no-zphnet-data {
    grid-column: 1 / -1 !important;
    background: #fff !important;
    border-radius: var(--pc-radius) !important;
    box-shadow: var(--pc-shadow) !important;
    padding: 64px 20px !important;
    text-align: center !important;
    font-size: 14px !important;
    color: var(--pc-text-4) !important;
}

/* 9.9 网络招聘会 / 直播带岗 标题去掉旧蓝下划线 */
.zphnet-title::after,
.zphnet-title::before { display: none !important; }
.zphnet-header {
    background: #fff !important;
    border-radius: var(--pc-radius) !important;
    padding: 20px 22px !important;
    margin-bottom: 16px !important;
    box-shadow: var(--pc-shadow) !important;
    border: 0 !important;
}
.zphnet-title {
    font-size: 21px !important;
    font-weight: 700 !important;
    color: var(--pc-text) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    position: static !important;
}
.zphnet-subtitle { margin-top: 8px !important; font-size: 13px !important; color: var(--pc-text-3) !important; }

/* 9.10 招聘会新卡片 */
.rf-card {
    display: flex !important;
    flex-direction: column !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: var(--pc-radius) !important;
    padding: 20px 20px 18px !important;
    box-shadow: var(--pc-shadow) !important;
    text-decoration: none !important;
    color: inherit !important;
    transition: box-shadow .18s, transform .18s;
}
.rf-card:hover { box-shadow: var(--pc-shadow-h) !important; transform: translateY(-2px); }
.rf-card__title {
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.55 !important;
    color: var(--pc-text) !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    border: 0 !important;
    min-height: 50px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.rf-card__meta { display: flex; flex-direction: column; gap: 9px; margin-bottom: 16px; }
.rf-card__row { display: flex; gap: 10px; font-size: 13px; line-height: 1.6; }
.rf-card__row em {
    flex: 0 0 58px;
    font-style: normal !important;
    color: var(--pc-text-4) !important;
    white-space: nowrap;
}
.rf-card__row b {
    flex: 1 1 auto;
    min-width: 0;
    font-weight: 400 !important;
    color: var(--pc-text-2) !important;
    word-break: break-word;
}
.rf-card__btn {
    margin-top: auto;
    align-self: flex-start;
    height: 34px;
    line-height: 34px;
    padding: 0 20px;
    border-radius: 17px;
    background: var(--pc-primary);
    color: #fff !important;
    font-size: 13px;
    box-shadow: 0 4px 12px rgba(30, 111, 255, .18);
    transition: background .16s;
}
.rf-card:hover .rf-card__btn { background: var(--pc-primary-d); }

@media (max-width: 1024px) {
    .article-list-container { flex-direction: column !important; }
    .article-list-container .sidebar { flex: 1 1 auto !important; width: 100% !important; }
}

/* 9.11 正文容器顶部留白（面包屑/标题不再贴住头部） */
.content-wrapper,
.center {
    width: 100% !important;
    max-width: var(--pc-wrap) !important;
    margin: 0 auto !important;
    padding-top: 18px !important;
    box-sizing: border-box;
    flex: 0 0 auto !important; /* 关键：flex 布局下不被压缩，否则长页面内容会被截断 */
}

/* 9.12 资讯列表：去掉旧版蓝点伪元素与 hover 位移 */
.lists ul li { height: auto !important; line-height: normal !important; }
.lists ul li::before { display: none !important; content: none !important; }
.lists ul li:hover { background: #F8FAFE !important; padding-left: 0 !important; }
.lists ul li a { padding-left: 0 !important; padding-right: 0 !important; }

/* 9.13 会员中心细节：分组标题更清晰、禁用态按钮不抢眼 */
.nav-group-title {
    font-size: 12px !important;
    color: #8A94A6 !important;
    padding: 14px 10px 7px !important;
    font-weight: 600 !important;
    letter-spacing: .5px;
}
.member-content .btn[disabled],
.member-content .btn-default[disabled],
.member-content button[disabled] {
    background: #FBFCFE !important;
    border: 1px dashed #E4EAF3 !important;
    color: #AAB3C0 !important;
    box-shadow: none !important;
    font-size: 12.5px !important;
    padding: 8px 26px !important;
    border-radius: 8px !important;
    cursor: default !important;
}

/* 9.14 注册表单间距收紧 */
#registerForm .form-group { margin-bottom: 18px !important; }
#registerForm .form-group:last-child { margin-bottom: 0 !important; }

/* 9.15 注册/登录：空提示行不占位，表单更紧凑 */
#registerForm .form-tip:empty,
#registerForm .form-tip { display: none !important; }
#registerForm .form-label { margin-bottom: 6px !important; display: block !important; }

/* 9.16 招聘会 / 网络招聘会详情：标题与富文本统一 */
.zph-content-title,
.zph-content-title.font-heading-2,
.zphnet-content-title {
    font-size: 17px !important;
    font-weight: 600 !important;
    color: var(--pc-text) !important;
    border-bottom: 1px solid var(--pc-line) !important;
    padding-bottom: 12px !important;
    margin: 0 0 16px !important;
}
.zph-content-title::before,
.zph-content-title::after { display: none !important; }
.zph-content-body,
.zphnet-content-body {
    font-size: 14px !important;
    line-height: 1.9 !important;
    color: var(--pc-text-2) !important;
    word-break: break-word;
}
.zph-content-body p { margin-bottom: 12px !important; }
.zph-content-body font { font-size: 14px !important; color: var(--pc-text-2) !important; }
.zph-info-label,
.zphnet-info-label { color: var(--pc-text-3) !important; font-weight: 500 !important; }
.zph-info-value,
.zphnet-info-value { color: var(--pc-text-2) !important; line-height: 1.75 !important; word-break: break-word; }

/* 9.17 富文本正文里的内联字号/颜色压平，避免后台粘贴的大红字破坏版面 */
.zph-content-body [style],
.zphnet-content-body [style] {
    font-size: 14px !important;
    color: var(--pc-text-2) !important;
    line-height: 1.9 !important;
}
.zph-content-body a,
.zphnet-content-body a { color: var(--pc-primary) !important; text-decoration: none; }
.zph-content-body img,
.zphnet-content-body img { max-width: 100%; height: auto; border-radius: 10px; }

/* ==========================================================================
   10. 头部收敛（去 logo 文案 / 搜索框降高 / 全站内容宽度对齐首页）
   ========================================================================== */

/* 10.1 logo 只留图形，去掉右侧文字 */
.kq-logo__txt { display: none !important; }

/* 10.2 头部搜索框降到 36px（部分视图内联了 52px，这里用更高特异性压回去） */
.kq-headsearch .search-box__wrapper {
    height: 36px !important;
    align-items: center !important;
    border-radius: 18px !important;
    padding: 0 4px 0 12px !important;
}
.kq-headsearch .search-box__wrapper .search-box__type,
.kq-headsearch .search-box__wrapper .search-box__input { height: 34px !important; line-height: 34px !important; }
.kq-headsearch .search-box__submit { width: 28px !important; height: 28px !important; border-radius: 50% !important; }
.kq-headsearch form { margin: 0 !important; }

/* 10.3 内容区宽度与首页完全一致：1200 容器 + 左右 16px 内边距 */
.kq-wrap,
.content-wrapper,
.center {
    width: 100% !important;
    max-width: var(--pc-wrap) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
}
/* 顶部栏/页脚已经自带 16px，不再叠加 */
.top-bar .content-wrapper,
.kq-footer .content-wrapper { padding-left: 16px !important; padding-right: 16px !important; }

/* 10.4 列表页筛选条与卡片区对齐 */
.kq-filter { margin-left: 0 !important; margin-right: 0 !important; }

/* ==========================================================================
   11. 认证页（登录 / 注册 / 找回密码 / 设置密码）
   ========================================================================== */
.kq-auth {
    background: linear-gradient(180deg, #EEF4FF 0%, #F7FAFF 46%, #FFFFFF 100%);
    padding: 48px 16px 64px;
    min-height: 560px;
}
.kq-auth__box {
    max-width: 940px;
    margin: 0 auto;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 18px 48px rgba(20, 60, 140, .10);
    display: flex;
    overflow: hidden;
}

/* 左侧品牌栏 */
.kq-auth__side {
    flex: 0 0 372px;
    background: linear-gradient(155deg, #1E6FFF 0%, #4A88FF 58%, #7DAEFF 100%);
    color: #fff;
    padding: 46px 36px 40px;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}
.kq-auth__side::after {
    content: '';
    position: absolute;
    right: -70px;
    bottom: -80px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .10);
}
.kq-auth__side h2 { font-size: 23px; font-weight: 700; margin: 0 0 10px; color: #fff; }
.kq-auth__side .kq-auth__slogan { font-size: 13.5px; color: rgba(255,255,255,.86); margin: 0 0 30px; line-height: 1.7; }
.kq-auth__side ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; position: relative; z-index: 1; }
.kq-auth__side ul li { display: flex; gap: 10px; font-size: 13.5px; line-height: 1.6; color: rgba(255,255,255,.94); }
.kq-auth__side ul li i { color: #fff; opacity: .95; font-size: 15px; margin-top: 1px; }

/* 右侧表单 */
.kq-auth__form { flex: 1 1 auto; min-width: 0; padding: 38px 44px 34px; }
.kq-auth__title { font-size: 22px; font-weight: 700; color: var(--pc-text); margin: 0 0 6px; }
.kq-auth__sub { font-size: 13px; color: var(--pc-text-3); margin: 0 0 22px; line-height: 1.6; }
.kq-auth__sub a { color: var(--pc-primary); text-decoration: none; }

.kq-auth__tabs { display: flex; gap: 26px; border-bottom: 1px solid #EEF1F6; margin-bottom: 22px; }
.kq-auth__tabs a {
    padding: 0 0 11px;
    font-size: 14.5px;
    color: var(--pc-text-3);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    cursor: pointer;
    transition: color .16s;
}
.kq-auth__tabs a.active { color: var(--pc-primary); border-bottom-color: var(--pc-primary); font-weight: 600; }

.kq-field { margin-bottom: 16px; }
.kq-field > label { display: block; font-size: 13px; color: var(--pc-text-2); margin-bottom: 7px; }
.kq-input {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 46px;
    padding: 0 14px;
    border: 1px solid #E7EBF2;
    border-radius: 10px;
    background: #fff;
    transition: border-color .16s, box-shadow .16s;
}
.kq-input:focus-within { border-color: #BFD9FF; box-shadow: 0 0 0 3px rgba(30,111,255,.08); }
.kq-input > i { color: #A9B2C0; font-size: 15px; flex: 0 0 auto; }
.kq-input input {
    flex: 1 1 auto;
    min-width: 0;
    height: 100%;
    border: 0;
    outline: none;
    background: none;
    font-size: 14.5px;
    color: var(--pc-text);
}
.kq-input input::placeholder { color: #B4BCC8; }
.kq-code-btn {
    flex: 0 0 auto;
    height: 34px;
    padding: 0 14px;
    border: 0;
    border-radius: 8px;
    background: #EDF4FF;
    color: var(--pc-primary);
    font-size: 13px;
    cursor: pointer;
    white-space: nowrap;
    transition: background .16s;
}
.kq-code-btn:hover { background: #E3EEFF; }
.kq-code-btn:disabled { background: #F4F6FA; color: #AAB3C0; cursor: default; }

.kq-auth__submit {
    width: 100%;
    height: 46px;
    margin-top: 6px;
    border: 0;
    border-radius: 10px;
    background: var(--pc-primary);
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background .16s;
}
.kq-auth__submit:hover { background: var(--pc-primary-d); }
.kq-auth__submit:disabled { background: #B9CDF3; cursor: default; }

.kq-auth__extra { display: flex; justify-content: space-between; align-items: center; margin-top: 14px; font-size: 13px; }
.kq-auth__extra a { color: var(--pc-primary); text-decoration: none; }
.kq-auth__extra span { color: var(--pc-text-4); }
.kq-auth__tip {
    margin-top: 18px;
    padding: 11px 14px;
    border-radius: 10px;
    background: #F5F8FE;
    font-size: 12.5px;
    line-height: 1.7;
    color: var(--pc-text-3);
}
.kq-auth__msg { display: none; margin-top: 14px; padding: 10px 14px; border-radius: 10px; font-size: 13px; }
.kq-auth__msg.is-error { display: block; background: #FEF4F4; color: #D14343; }
.kq-auth__msg.is-ok { display: block; background: #F1FAF3; color: #12805C; }

@media (max-width: 900px) {
    .kq-auth__box { flex-direction: column; }
    .kq-auth__side { flex: 1 1 auto; padding: 30px 26px; }
    .kq-auth__side ul { display: none; }
    .kq-auth__form { padding: 26px 22px 28px; }
}
