/* ========== 全局重置 ========== */
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: "Microsoft YaHei", Arial, sans-serif; background: #f5f5f5; font-size: 14px; color: #333; }

/* ========== 顶部信息栏 ========== */
/* 消除 .content 上下内边距：顶栏贴紧头部、页脚贴底（左右内边距由页脚自身负 margin 抵消） */
.content {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.top-bar {
    background: linear-gradient(135deg, #1a73e8 0%, #0d47a1 100%);
    color: white;
    padding: 8px 0;
    font-size: 13px;
    /* 桌面端：蓝色背景通栏铺满（全屏），不另限宽 */
}
.top-bar-inner {
    /* 内部内容限宽并居中到 .home-content-wrapper(1400-30)，
       三栏靠 space-between 在该宽度内均匀分散对齐 */
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
    gap: 24px;
}
.top-bar-left {
    display: flex;
    gap: 15px;
    align-items: center;
    flex-shrink: 0;
}
.top-bar-right {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-shrink: 0;
}
.top-bar-center {
    /* 不再 flex:1 吞噬中段空间，改为自适应宽度，配合 space-between 在
       left / center / right 之间分配出均匀间隔 */
    flex: 0 1 auto;
    min-width: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}
.top-bar-search { display: flex; align-items: center; gap: 4px; }
.top-bar-search .search-input {
    padding: 4px 10px;
    border: 1px solid rgba(255,255,255,0.3);
    border-radius: 4px;
    background: rgba(255,255,255,0.1);
    color: white;
    font-size: 12px;
    width: 120px;
    outline: none;
}
.top-bar-search .search-input::placeholder { color: rgba(255,255,255,0.6); }
.top-bar-search .search-input:focus { border-color: rgba(255,255,255,0.6); background: rgba(255,255,255,0.15); }
.top-bar-search .search-btn {
    padding: 4px 10px;
    background: rgba(255,255,255,0.2);
    border: 1px solid rgba(255,255,255,0.3);
    border-radius: 4px;
    color: white;
    cursor: pointer;
    font-size: 12px;
    transition: background 0.2s;
}
.top-bar-search .search-btn:hover { background: rgba(255,255,255,0.3); }
.top-bar a { color: #ffd54f; text-decoration: none; transition: opacity 0.3s; }
.top-bar a:hover { opacity: 0.8; text-decoration: underline; }
.site-name { font-size: 24px; font-weight: bold; color: white; letter-spacing: 2px; white-space: nowrap; }
.countdown { color: #ffeb3b; font-weight: bold; }
.top-bar-duty {
    display: inline-flex;
    align-items: center;
    padding: 4px 12px;
    background: rgba(255,255,255,0.15);
    border-radius: 4px;
    font-size: 13px;
    white-space: nowrap;
    cursor: pointer;
    transition: background 0.2s;
    text-decoration: none;
    color: inherit;
    max-width: 100%;
    overflow: hidden;
}
.top-bar-duty:hover {
    background: rgba(255,255,255,0.25);
    text-decoration: none;
    opacity: 1;
}
.top-bar-duty .duty-label { color: #ffd54f; margin-right: 5px; flex-shrink: 0; }
.top-bar-duty .duty-name {
    color: white;
    font-weight: bold;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ========== 主导航栏 ========== */
.main-nav {
    background: linear-gradient(135deg, #1976d2 0%, #1565c0 100%);
    padding: 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.nav-container {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
}
.nav-item {
    flex: 1;
    text-align: center;
    padding: 12px 10px;
    color: white;
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
    border-bottom: 4px solid transparent;
    transition: all 0.3s;
    position: relative;
}
.nav-item:hover {
    background: rgba(255,255,255,0.1);
    border-bottom-color: #ffeb3b;
}
.nav-item.active {
    background: rgba(255,255,255,0.15);
    border-bottom-color: #ffeb3b;
}

/* ========== 主内容容器 ========== */
.home-main-container {
    max-width: 1400px;
    margin: 20px auto;
    padding: 0 15px;
}

/* ========== 移动端一级分类快捷栏（桌面端隐藏） ========== */
.mobile-category-bar {
    display: none;
}

/* ========== 内容区包裹（侧边栏 + 主内容） ========== */
.home-content-wrapper {
    display: flex;
    gap: 15px;
}

/* ========== 首页热门标签栏 ========== */
.home-hot-tags {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    border-radius: 8px;
    padding: 10px 14px;
    margin-bottom: 15px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    flex-wrap: nowrap;
    position: relative;
}
.home-hot-tags__label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    color: #1F5FD6;
    white-space: nowrap;
    font-size: 14px;
}
.home-hot-tags__list {
    display: flex;
    flex-wrap: nowrap;       /* 桌面端单行，超出裁切 */
    gap: 8px;
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
}
.home-hot-tags.is-expanded .home-hot-tags__list {
    flex-wrap: wrap;         /* 展开显示全部 */
    overflow: visible;
}
.home-hot-tags__item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    background: linear-gradient(135deg, #f7c8d4, #f7d4de);
    color: #555;
    border-radius: 14px;
    font-size: 13px;
    text-decoration: none;
    white-space: nowrap;
    transition: filter .15s, box-shadow .15s;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}
/* 桌面端：低饱和渐变，按位置轮换淡色相（10 色，减少重复） */
.home-hot-tags__item:nth-child(10n+1) { background: linear-gradient(135deg, #f7c8d4, #f7d4de); }
.home-hot-tags__item:nth-child(10n+2) { background: linear-gradient(135deg, #f9e4c0, #fbe0cf); }
.home-hot-tags__item:nth-child(10n+3) { background: linear-gradient(135deg, #cfe8dd, #d3e9f3); }
.home-hot-tags__item:nth-child(10n+4) { background: linear-gradient(135deg, #ddd2ee, #f0dcef); }
.home-hot-tags__item:nth-child(10n+5) { background: linear-gradient(135deg, #cae8d4, #cfeef0); }
.home-hot-tags__item:nth-child(10n+6) { background: linear-gradient(135deg, #f4d6c8, #f7e2d4); }
.home-hot-tags__item:nth-child(10n+7) { background: linear-gradient(135deg, #d4e3c8, #e2ecd3); }
.home-hot-tags__item:nth-child(10n+8) { background: linear-gradient(135deg, #c8dce8, #d4e6f0); }
.home-hot-tags__item:nth-child(10n+9) { background: linear-gradient(135deg, #e8d6c8, #f0e2d4); }
.home-hot-tags__item:nth-child(10n+10) { background: linear-gradient(135deg, #d8d0e8, #e6def0); }
.home-hot-tags__item:hover {
    filter: brightness(0.97);
    box-shadow: 0 2px 5px rgba(0,0,0,0.10);
}
.home-hot-tags__count {
    font-size: 11px;
    opacity: .7;
}

/* 「更多」展开按钮：桌面端默认隐藏，仅在移动端溢出两行时显示 */
.home-hot-tags__more {
    display: none;
    flex: none;
    align-items: center;
    border: none;
    background: none;
    padding: 2px 6px;
    font-size: 13px;
    color: #1F5FD6;
    cursor: pointer;
    line-height: 1.4;
}

/* ========== 左侧分类侧边栏 ========== */
.category-sidebar {
    flex-shrink: 0;
    background: white;
    border-radius: 4px;
    overflow: hidden;
    align-self: flex-start;
    position: sticky;
    top: 20px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
    width: auto;
    min-width: 0;
}

/* ========== 文章管理侧边栏（草稿箱等后台文章页使用） ========== */
.article-admin-sidebar {
    flex-shrink: 0;
    background: white;
    border-radius: 4px;
    overflow: hidden;
    align-self: flex-start;
    position: sticky;
    top: 20px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
    width: 170px;
}

.article-admin-sidebar .aas-title {
    background: linear-gradient(135deg, #722ED1 0%, #531DAB 100%);
    color: white;
    font-size: 15px;
    font-weight: bold;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 15px;
}

.article-admin-sidebar .aas-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.article-admin-sidebar .aas-link {
    display: block;
    padding: 11px 15px;
    color: #4E5969;
    text-decoration: none;
    font-size: 14px;
    border-bottom: 1px solid #f0f0f0;
    transition: all 0.2s;
}

.article-admin-sidebar .aas-link:hover {
    background: #F7F8FA;
    color: #722ED1;
}

.article-admin-sidebar .aas-link.active {
    background: #F7F0FF;
    color: #722ED1;
    font-weight: 600;
    border-left: 3px solid #722ED1;
}

/* 仅资讯侧边栏（.category-sidebar）的标题用蓝底，避免污染全局 .sidebar-title
   （应用中心/报表/考勤等侧边栏也用 .sidebar-title，但各有独立样式） */
.category-sidebar .sidebar-title {
    color: white !important;
    font-size: 15px !important;
    font-weight: bold !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    border-radius: 4px 4px 0 0 !important;
    width: auto !important;
    height: auto !important;
    cursor: pointer;
    justify-content: space-between;
    transition: padding 0.3s ease;
    background: linear-gradient(135deg, #1565c0 0%, #1976d2 100%) !important;
    padding: 12px 16px !important;
}

.sidebar-title-content {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    min-width: 0;
}

.sidebar-title-text {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.category-sidebar.collapsed .sidebar-title {
    padding: 12px 8px !important;
    justify-content: center;
}

.category-sidebar .sidebar-title:hover {
    background: linear-gradient(135deg, #1565c0 0%, #1976d2 100%) !important;
}

.sidebar-toggle-icon {
    font-style: normal;
    font-size: 14px !important;
    font-weight: bold;
    transition: all 0.3s ease;
}

.sidebar-toggle-icon::before {
    content: '\003C'; /* 展开状态：< 指向左（收起方向） */
}

.category-sidebar.collapsed {
    width: 32px;
    min-width: 32px;
}

.category-sidebar.collapsed .sidebar-title {
    padding: 12px 0 !important;
    justify-content: center;
}

.category-sidebar.collapsed .sidebar-title-text {
    display: none;
}

/* 收起后仅保留「展开」指示图标，隐藏列表图标，避免出现两个小图标 */
.category-sidebar.collapsed .sidebar-title-content {
    display: none;
}

.category-sidebar.collapsed .sidebar-toggle-icon::before {
    content: '\003E'; /* 收起状态：> 指向右（展开方向） */
}
.category-sidebar.collapsed .sidebar-toggle-icon {
    font-size: 14px !important;
}

.category-sidebar.collapsed .category-tree {
    display: none;
}

.category-tree {
    list-style: none;
    margin: 0;
    padding: 0;
}

.cat-item {
    border-bottom: 1px solid #f0f0f0;
}

.cat-item:last-child {
    border-bottom: none;
}

.cat-link {
    display: block;
    padding: 10px 15px;
    color: #333;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    gap: 6px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cat-link:hover {
    background: #f5f5f5;
    color: #1976d2;
}

.cat-link.active {
    background: #e3f2fd;
    color: #1976d2;
    font-weight: 600;
}

.cat-link i {
    color: #1976d2;
    width: 16px;
    text-align: center;
}

.cat-children {
    list-style: none;
    margin: 0;
    padding: 0;
    background: #f8f9fc;
    border-left: 3px solid #1976d2;
    margin-left: 15px;
}

.cat-child-item {
    border-top: 1px solid #e8ecf1;
}

.cat-child-link {
    display: block;
    padding: 8px 15px 8px 20px;
    color: #5a5a5a;
    text-decoration: none;
    font-size: 13px;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    gap: 6px;
    position: relative;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cat-child-link:hover {
    background: #e8ecf4;
    color: #1565c0;
    padding-left: 25px;
}

.cat-child-link i {
    color: #1976d2;
    font-size: 11px;
    width: 12px;
    text-align: center;
}

.cat-item-empty {
    padding: 15px;
    color: #999;
    font-size: 13px;
    text-align: center;
}

/* ========== 右侧主内容区 ========== */
.home-main-content {
    flex: 1;
    min-width: 0;
    width: 100%;
}

/* ========== 核心网格布局：轮播 | 消息 | 公告 | 分类 ========== */
/* 桌面端：轮播/消息 占左两列，公告占右列；横幅与分类通栏 */
.home-lower-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px;
}
.hero-section {
    grid-column: 1 / 3;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
    min-width: 0;
}
.notice-sidebar { grid-column: 3; }
.banner-ad-middle { grid-column: 1 / -1; }
.three-col-section { grid-column: 1 / -1; }

/* 强制所有网格项固定宽度，不被内容撑开 */
.home-lower-grid > * {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}

/* 防止列表项被长标题撑开 */
.news-item,
.notice-item {
    min-width: 0;
}

/* 轮播图区域 */
.slider-box {
    background: white;
    overflow: hidden;
    height: 300px;
    position: relative;
    width: 100%;
}
.slider-wrapper {
    width: 100%;
    height: 100%;
    position: relative;
}
.slider-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.6s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #e3f2fd;
}
.slider-slide.active { opacity: 1; z-index: 1; }
.slider-slide img { width: 100%; height: 100%; object-fit: cover; }
.slider-dots {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 6px;
    z-index: 10;
}
.slider-dot {
    width: 8px;
    height: 8px;
    background: rgba(255,255,255,0.5);
    cursor: pointer;
    transition: background 0.3s;
}
.slider-dot.active { background: white; }

/* 最新消息列表 */
.news-list-box {
    background: white;
    padding: 15px 18px;
    height: 300px;
    display: flex;
    flex-direction: column;
}
.section-title-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
    padding: 10px 12px;
    background: #f5f7fa;
    border-radius: 6px;
}
.section-title {
    font-size: 16px;
    font-weight: 600;
    color: #1D2129;
    display: flex;
    align-items: center;
    gap: 8px;
}
.section-title i {
    font-size: 16px;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
}
.section-title.news-title i {
    background: #E8F3FF;
    color: #165DFF;
}
.section-title.notice-title i {
    background: #FFF2F0;
    color: #F53F3F;
}
.section-more {
    color: #86909C;
    text-decoration: none;
    font-size: 12px;
    padding: 4px 8px;
    border-radius: 4px;
    transition: all 0.2s;
}
.section-more:hover { 
    color: #165DFF;
    background: #E8F3FF;
}
.news-list { 
    list-style: none; 
    flex: 1; 
    margin: 0; 
    padding: 0;
}
.news-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px dashed #eee;
    line-height: 1.5;
}
.news-item:last-child { border-bottom: none; }
.news-link {
    color: #333;
    text-decoration: none;
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-right: 10px;
    font-size: 13px;
}
.news-link:hover { color: #1976d2; }
.news-tag {
    display: inline-block;
    padding: 1px 6px;
    background: #e8f5e9;
    color: #2e7d32;
    font-size: 11px;
    margin-right: 6px;
    flex-shrink: 0;
}
.news-date {
    color: #999;
    font-size: 12px;
    flex-shrink: 0;
    margin-left: 8px;
}

/* 公告侧边栏 */
.notice-sidebar {
    background: white;
    padding: 15px 18px;
    height: 300px;
    display: flex;
    flex-direction: column;
}
.notice-list { 
    list-style: none; 
    flex: 1; 
    margin: 0; 
    padding: 0;
}
.notice-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px dashed #f0f0f0;
    font-size: 13px;
    line-height: 1.5;
}
.notice-item:last-child { border-bottom: none; }
.notice-text {
    color: #333;
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
    min-width: 0;
    padding-right: 8px;
}
.notice-text:hover { color: #d32f2f; }
.notice-time { color: #999; font-size: 12px; flex-shrink: 0; }

/* ========== 红色标语横幅 ========== */
.banner-ad {
    background: linear-gradient(135deg, #c62828 0%, #b71c1c 50%, #880e4f 100%);
    color: white;
    text-align: center;
    padding: 22px 30px;
    font-size: 26px;
    font-weight: bold;
    letter-spacing: 8px;
    margin-bottom: 15px;
    box-shadow: 0 3px 10px rgba(183,28,28,0.3);
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 60"><text x="600" y="38" fill="rgba(255,255,255,0.08)" font-size="40" text-anchor="middle" font-weight="bold">自信自强 守正创新 踔厉奋发 勇毅前行</text></svg>');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* ========== 三列内容区 ========== */
.three-col-section {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px;
    margin-bottom: 15px;
}
.col-card {
    background: white;
    padding: 15px 18px;
}
.col-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 5px;
    padding: 10px 12px;
    background: #f5f7fa;
    border-radius: 6px;
}
.col-title {
    font-size: 15px;
    font-weight: 600;
    color: #1D2129;
    display: flex;
    align-items: center;
    gap: 8px;
}
.col-title i {
    font-size: 15px;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    background: #E8F3FF;
    color: #165DFF;
}
.cat-name-badge {
    display: inline-block;
    padding: 4px 12px;
    background: linear-gradient(135deg, #FF9800 0%, #FF5722 100%);
    color: white;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;    
}
.article-cat-tag {
    display: inline-block;
    padding: 2px 8px;
    background: #E8F3FF;
    color: #165DFF;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 500;
    margin-right: 8px;
    flex-shrink: 0;
    border: 1px solid #165DFF;
}
.col-more {
    color: #86909C;
    text-decoration: none;
    font-size: 12px;
    padding: 4px 8px;
    border-radius: 4px;
    transition: all 0.2s;
}
.col-more:hover { 
    color: #165DFF;
    background: #E8F3FF;
}
.doc-list { list-style: none; }
.doc-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px dashed #f0f0f0;
    font-size: 13px;
    line-height: 1.5;
}
.doc-item:last-child { border-bottom: none; }
.doc-name {
    color: #333;
    text-decoration: none;
    flex: 1;
    padding-right: 10px;
    align-items: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-right: 10px;   
    gap: 4px;
    min-width: 0;
    overflow: hidden;
}
.doc-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
    min-width: 0;
}
.doc-name:hover { color: #1976d2; }

/* 文章标记：置顶=顶，精华=精 */
.article-mark {
    display: inline-block;
    padding: 0 5px;
    font-size: 11px;
    line-height: 16px;
    font-weight: 600;
    border-radius: 3px;
    margin-right: 5px;
    flex-shrink: 0;
    vertical-align: middle;
}
.mark-top {
    background: #FFF1F0;
    color: #CF1322;
    border: 1px solid #FFA39E;
}
.mark-essence {
    background: #FFF7E6;
    color: #D46B08;
    border: 1px solid #FFD591;
}
.doc-name .article-cat-tag {
    flex-shrink: 0;
}
.doc-date { color: #999; font-size: 12px; flex-shrink: 0; }

/* ========== 文章缩略图 ========== */
.doc-thumb {
    width: 40px;
    height: 40px;
    object-fit: cover;
    margin-right: 8px;
    flex-shrink: 0;
    border-radius: 4px;
}
.doc-item {
    display: flex;
    align-items: center;
}

/* ========== 友情链接 ========== */
.friend-links-section {
    background: white;
    padding: 15px 25px;
    margin-bottom: 15px;
}
.fl-title {
    font-size: 15px;
    font-weight: bold;
    margin-bottom: 10px;
    color: #333;
}
.fl-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    font-size: 13px;
}
.fl-link {
    color: #555;
    text-decoration: none;
    padding: 2px 0;
    transition: color 0.2s;
}
.fl-link:hover { color: #1976d2; text-decoration: underline; }

/* ========== 页脚 ========== */
.site-footer {
    background: #37474f;
    color: #b0bec5;
    text-align: center;
    font-size: 13px;
    line-height: 1.8;
}
.footer-links {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 8px;
    flex-wrap: wrap;
}
.footer-links a {
    color: #90a4ae;
    text-decoration: none;
}
.footer-links a:hover { color: white; }
.icp { font-size: 12px; color: #78909c; }

/* ========== 响应式 ========== */
/* 宽度 >768px：增大顶部信息栏文字字体 */
@media (min-width: 769px) {
    .top-bar { font-size: 15px; }
    .site-name { font-size: 26px; }
    .top-bar-duty { font-size: 15px; }
    .top-bar-right > span { font-size: 14px; }
    .top-bar-search .search-input { font-size: 14px; }
    .top-bar-search .search-btn { font-size: 14px; }
}

/* 平板设备 (768px - 1024px)：新布局 */
@media (min-width: 768px) and (max-width: 1024px) {
    .home-lower-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: auto;
    }
    .hero-section {
        display: contents;
    }
    .slider-box { 
        grid-column: 1; 
        grid-row: 1;
        height: 300px; 
    }
    .notice-sidebar { 
        grid-column: 2; 
        grid-row: 1;
        height: 300px; 
    }
    .banner-ad-middle { 
        grid-column: 1 / -1; 
        grid-row: 2;
    }
    .news-list-box { 
        grid-column: 1; 
        grid-row: 3;
        height: 300px; 
    }
    .three-col-section { 
        display: contents;
    }
    .three-col-section .col-card {
        width: 100%;
        margin: 0;
    }
    .three-col-section .col-card:nth-child(1) { 
        grid-column: 2; 
        grid-row: 3;
    }
    .three-col-section .col-card:nth-child(2) { 
        grid-column: 1; 
        grid-row: 4;
    }
    .three-col-section .col-card:nth-child(3) { 
        grid-column: 2; 
        grid-row: 4;
    }
}

/* 中等屏幕 (993px - 1168px)：调整导航栏防止文字竖排，防止宽度溢出 */
@media (min-width: 993px) and (max-width: 1168px) {
    .nav-item {
        font-size: 14px;
        padding: 12px 6px;
        white-space: nowrap;
    }
    html, body {
        overflow-x: hidden;
        width: 100%;
    }
    .content {
        overflow-x: hidden;
        width: 100%;
        display: flex;
        flex-direction: column;
    }
    .home-main-container {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
        box-sizing: border-box;
    }
    .home-main-content {
        width: 100%;
        overflow-x: hidden;
        box-sizing: border-box;
    }
    .home-lower-grid {
        width: 100%;
        overflow-x: hidden;
        box-sizing: border-box;
    }
    .home-lower-grid > * {
        min-width: 0;
        max-width: 100%;
        overflow: hidden;
        box-sizing: border-box;
    }
    .hero-section {
        min-width: 0;
        overflow: hidden;
    }
    .slider-box, .news-list-box, .notice-sidebar {
        width: 100%;
        min-width: 0;
        overflow: hidden;
        box-sizing: border-box;
    }
    .three-col-section {
        width: 100%;
        min-width: 0;
        overflow: hidden;
        box-sizing: border-box;
    }
    .three-col-section > * {
        min-width: 0;
        max-width: 100%;
        overflow: hidden;
        box-sizing: border-box;
    }
}

/* 平板设备 (768px - 992px)：顶部信息栏精简，防止宽度溢出 */
@media (min-width: 769px) and (max-width: 992px) {
    html, body {
        overflow-x: hidden;
        width: 100%;
    }
    .content {
        overflow-x: hidden;
        width: 100%;
        display: flex;
        flex-direction: column;
    }
    .home-main-container {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
        box-sizing: border-box;
    }
    .home-main-content {
        width: 100%;
        overflow-x: hidden;
        box-sizing: border-box;
    }
    .home-lower-grid {
        width: 100%;
        overflow-x: hidden;
        box-sizing: border-box;
    }
    .home-lower-grid > * {
        min-width: 0;
        max-width: 100%;
        overflow: hidden;
        box-sizing: border-box;
    }
    .top-bar {
        font-size: 15px;
        margin-left: -15px;
        margin-right: -15px;
        width: calc(100% + 30px);
    }
    .top-bar-inner {
        padding: 0 15px;
        gap: 8px;
        flex-wrap: nowrap;
    }
    .site-name {
        font-size: 26px;
        letter-spacing: 1px;
    }
    .top-bar-duty {
        font-size: 15px;
        padding: 3px 8px;
        max-width: 320px;
    }
    .top-bar-duty .duty-label {
        flex-shrink: 0;
    }
    .top-bar-search .search-input {
        width: 90px;
        font-size: 14px;
        padding: 3px 8px;
    }
    .top-bar-search .search-btn {
        font-size: 14px;
        padding: 3px 8px;
    }
    .top-bar-right {
        gap: 6px;
        font-size: 14px;
    }
    .top-bar-right > span {
        font-size: 14px;
    }
    /* 抵消 .content 左右内边距，使页脚左右贴边；margin-top:auto 把页脚推到容器底部（消除底部空白） */
    .site-footer {
        margin-top: auto;
        margin-left: -15px;
        margin-right: -15px;
    }
}

/* 手机设备 (≤768px)：Grid布局，第一行左站点+右外网搜索，第二行值班 */
@media (max-width: 768px) {
    html, body {
        overflow-x: hidden;
        width: 100%;
    }
    .content {
        overflow-x: hidden;
        width: 100%;
        display: flex;
        flex-direction: column;
    }
    .top-bar {
        font-size: 13px;
        padding: 4px 0 !important;
        margin-left: -8px;
        margin-right: -8px;
        width: calc(100% + 16px);
        box-sizing: border-box;
    }
    .top-bar-inner {
        display: grid;
        grid-template-columns: auto auto;
        grid-template-rows: auto auto;
        justify-content: space-between;
        align-items: center;
        gap: 2px 8px;
        padding: 0 10px !important;
    }
    /* 抵消 .content 左右内边距，使页脚左右贴边；margin-top:auto 把页脚推到容器底部（消除底部空白） */
    .site-footer {
        margin-top: auto;
        margin-left: -10px;
        margin-right: -10px;
    }
    .top-bar-left {
        grid-column: 1;
        grid-row: 1;
        justify-self: start;
    }
    .site-name {
        font-size: 16px;
        letter-spacing: 0;
        line-height: 1;
    }
    .top-bar-center {
        grid-column: 1 / -1;
        grid-row: 2;
        justify-self: center;
    }
    .top-bar-duty {
        font-size: 12px;
        padding: 2px 8px;
        max-width: 100%;
        white-space: normal;
        overflow: visible;
        line-height: 1.3;
    }
    .top-bar-duty .duty-label {
        flex-shrink: 0;
    }
    .top-bar-duty .duty-name {
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
    }
    .top-bar-right {
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
        gap: 4px;
    }
    .top-bar-right > span {
        font-size: 12px;
        white-space: nowrap;
        line-height: 1;
    }
    .top-bar-search {
        gap: 2px;
    }
    .top-bar-search .search-input {
        width: 85px;
        height: 22px !important;
        min-height: 0 !important;
        font-size: 12px;
        padding: 0 4px !important;
        line-height: 22px;
    }
    .top-bar-search .search-btn {
        height: 22px !important;
        min-height: 0 !important;
        min-width: 0 !important;
        width: 22px;
        font-size: 11px;
        padding: 0 !important;
        line-height: 22px;
    }

    .home-lower-grid {
        grid-template-columns: 1fr;
        grid-template-areas:
            "slider"
            "notice"
            "news"
            "banner"
            "cat";
    }
    .hero-section { display: contents; }
    .slider-box { grid-area: slider; height: 200px; width: 100%; overflow: hidden; }
    .news-list-box { grid-area: news; height: auto; width: 100%; overflow: hidden; }
    .notice-sidebar { grid-area: notice; height: auto; width: 100%; overflow: hidden; }
    .banner-ad-middle { grid-area: banner; width: 100%; overflow: hidden; }
    .banner-ad { width: 100%; overflow: hidden; }
    .three-col-section { grid-area: cat; grid-template-columns: minmax(0, 1fr); width: 100%; overflow: hidden; }
    .three-col-section > * { min-width: 0; max-width: 100%; overflow: hidden; }
    .col-card { padding-left: 10px; padding-right: 10px; box-sizing: border-box; width: 100%; overflow: hidden; }
    .col-header { padding-left: 8px; padding-right: 8px; }
    .doc-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .doc-name .article-cat-tag { display: none; }
    .nav-container { flex-wrap: wrap; }
    .nav-item { flex: auto; min-width: 33%; }
    .bs-container { flex-direction: column; align-items: stretch; }
    .breadcrumb-links { justify-content: center; }
    .search-box { justify-content: center; }

    /* 移动端隐藏内网友情链接 */
    .fl-intranet { display: none !important; }

    /* 取消侧边栏，改为顶部分类快捷栏 */
    .home-content-wrapper {
        flex-direction: column;
        gap: 0;
        margin-bottom: 0;
    }
    .category-sidebar {
        display: none !important;
    }
    /* 文章管理侧边栏在移动端改为顶部横向导航条，确保草稿箱等后台页有侧边栏 */
    .article-admin-sidebar {
        width: 100%;
        position: static;
    }
    .article-admin-sidebar .aas-menu {
        display: flex;
        flex-wrap: wrap;
    }
    .article-admin-sidebar .aas-link {
        border-bottom: none;
        border-right: 1px solid #f0f0f0;
        padding: 9px 12px;
        font-size: 13px;
    }
    .article-admin-sidebar .aas-link.active {
        border-left: none;
        border-bottom: 2px solid #722ED1;
    }
    .home-main-content {
        width: 100%;
        max-width: none;
        padding: 0;
        margin: 0;
        overflow-x: hidden;
        box-sizing: border-box;
    }
    .home-main-container {
        padding: 0 8px;
        margin: 6px auto;
        width: 100%;
        max-width: none;
        overflow-x: hidden;
        box-sizing: border-box;
    }
    /* 移动端热门标签：默认一行，超出右上角显示「更多/收起」 */
    .home-hot-tags {
        flex-wrap: wrap;
        align-items: center;
        padding: 6px 10px;
        margin-bottom: 8px;
        gap: 6px;
    }
    .home-hot-tags__label {
        order: 1;
        flex: none;
        font-size: 13px;
    }
    .home-hot-tags__more {
        order: 2;
        margin-left: auto;   /* 推到右上角 */
        flex: none;
        display: none;       /* 由 JS 在溢出时显示 */
    }
    .home-hot-tags__list {
        order: 3;
        flex-basis: 100%;    /* 单独一行，位于标题/更多之下 */
        flex-wrap: wrap;     /* 允许换行，溢出时纵向增长使 scrollHeight 可判溢出 */
        /* 一行：标签高约 24px，留少量缓冲 */
        max-height: 30px;
        overflow: hidden;
    }
    .home-hot-tags.is-expanded .home-hot-tags__list {
        max-height: none;
    }
    /* 移动端：还原热门标签为原素色背景（不加炫彩） */
    .home-hot-tags__item,
    .home-hot-tags__item:nth-child(10n+1),
    .home-hot-tags__item:nth-child(10n+2),
    .home-hot-tags__item:nth-child(10n+3),
    .home-hot-tags__item:nth-child(10n+4),
    .home-hot-tags__item:nth-child(10n+5),
    .home-hot-tags__item:nth-child(10n+6),
    .home-hot-tags__item:nth-child(10n+7),
    .home-hot-tags__item:nth-child(10n+8),
    .home-hot-tags__item:nth-child(10n+9),
    .home-hot-tags__item:nth-child(10n+10) {
        background: #F2F5FB;
        color: #333;
        box-shadow: none;
    }
    .home-lower-grid {
        width: 100%;
        overflow-x: hidden;
        box-sizing: border-box;
    }
    .mobile-category-bar {
        display: flex;
        flex-wrap: nowrap;
        gap: 6px;
        margin-bottom: 12px;
    }
    .mobile-cat-btn {
        flex: 1 1 0;
        min-width: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 5px;
        padding: 8px 6px;
        font-size: 13px;
        font-weight: 600;
        color: #1976d2;
        background: #e3f2fd;
        border-radius: 4px;
        text-decoration: none;
        white-space: nowrap;
        transition: background 0.2s;
    }
    .mobile-cat-btn:active {
        background: #bbdefb;
    }
    .mobile-cat-btn i {
        color: #1976d2;
        font-size: 12px;
    }

    /* ========== 资讯文章列表页（移动端） ========== */
    .page-header-card {
        padding: 16px !important;
        border-radius: 8px !important;
    }
    .page-header-card h2 {
        font-size: 20px !important;
    }
    .filter-card {
        padding: 16px !important;
    }
    .filter-card form {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        grid-gap: 10px !important;
        align-items: center !important;
    }
    .filter-card form > div:nth-child(2),
    .filter-card form > div:nth-child(3),
    .filter-card form > div:nth-child(4),
    .filter-card form > button,
    .filter-card form > a {
        display: flex !important;
        align-items: center !important;
    }
    .filter-card form > div:nth-child(2) {
        grid-column: 1 !important;
    }
    .filter-card form > div:nth-child(3) {
        grid-column: 2 !important;
    }
    .filter-card form > div:nth-child(4) {
        grid-column: 1 / span 2 !important;
    }
    .filter-card form > button {
        grid-column: 1 !important;
        justify-content: center !important;
    }
    .filter-card form > a {
        grid-column: 2 !important;
        justify-content: center !important;
    }
    .filter-card form > div:nth-child(2) > select,
    .filter-card form > div:nth-child(3) > select {
        width: 100% !important;
        min-width: 0 !important;
    }
    .filter-card form > div:nth-child(4) > input {
        width: 100% !important;
        min-width: 0 !important;
    }

    /* 表格转为卡片式，避免横向滚动 */
    .article-list-card table,
    .article-list-card tbody,
    .article-list-card tr,
    .article-list-card td {
        display: block !important;
        width: auto !important;
        min-width: 0 !important;
    }
    .article-list-card thead {
        display: none !important;
    }
    .article-list-card tr {
        border: 1px solid #eee !important;
        border-radius: 10px !important;
        margin-bottom: 12px !important;
        padding: 14px 16px !important;
        background: #fff !important;
        box-shadow: 0 1px 4px rgba(0,0,0,0.04);
    }
    .article-list-card td {
        padding: 0 !important;
        border: none !important;
        white-space: normal !important;
        text-align: left !important;
        font-size: 13px !important;
    }
    .article-list-card td:first-child,
    .article-list-card td:nth-child(4),
    .article-list-card td:nth-child(5),
    .article-list-card td:nth-child(6) {
        display: none !important;
    }
    .article-list-card td:nth-child(2) {
        margin-bottom: 10px !important;
    }
    .article-list-card td:nth-child(3),
    .article-list-card td:nth-child(7),
    .article-list-card td:nth-child(8) {
        display: inline-flex !important;
        align-items: center !important;
        gap: 4px !important;
        padding: 6px 10px !important;
        background: #F7F8FA !important;
        border-radius: 6px !important;
        margin-right: 8px !important;
        margin-bottom: 8px !important;
        font-size: 12px !important;
        color: #4E5969 !important;
    }
    .article-list-card td:nth-child(3) {
        background: #E8F3FF !important;
        color: #165DFF !important;
    }
    .article-list-card td:nth-child(3) i {
        display: none !important;
    }
    .article-list-card td:nth-child(7) {
        background: #FFF7E6 !important;
        color: #FA8C16 !important;
    }
    .article-list-card td:nth-child(8) {
        background: #F5F5F5 !important;
        color: #86909C !important;
        font-size: 11px !important;
    }
    .article-list-card td .news-tag {
        margin-bottom: 4px;
    }
    .article-list-card td:nth-child(9) {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
        margin-top: 10px !important;
        padding-top: 10px !important;
        border-top: 1px dashed #eee !important;
    }
    .article-list-card td:nth-child(9) a {
        flex: 1 1 calc(50% - 3px) !important;
        min-width: calc(50% - 3px) !important;
        justify-content: center !important;
        padding: 8px 10px !important;
        font-size: 12px !important;
    }

    /* ========== 资讯文章详情页（移动端） ========== */
    .article-detail-container {
        padding: 0 8px !important;
    }
    .article-detail-container div[style*="40px"] {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    #article-content {
        padding: 20px 16px !important;
        font-size: 15px !important;
        line-height: 1.9 !important;
    }
    .article-detail-container h1 {
        font-size: 20px !important;
    }
    .article-prev-next {
        flex-direction: column !important;
        gap: 12px !important;
    }
    .article-prev-next > div {
        width: 100% !important;
    }
    .article-detail-actions a {
        display: block !important;
        margin: 8px 0 !important;
    }
}

/* 小屏手机 (≤480px)：进一步抵消 .content 内边距 */
@media (max-width: 480px) {
    .top-bar {
        margin-left: -8px !important;
        margin-right: -8px !important;
        width: calc(100% + 16px) !important;
    }
    /* .content 在 ≤480px 左右内边距为 8px，使页脚左右贴边；margin-top:auto 把页脚推到容器底部 */
    .site-footer {
        margin-top: auto;
        margin-left: -8px !important;
        margin-right: -8px !important;
    }
}
