/* ============================================================
   圈子插件 · 核心主题统一层 (core-unity.css)
   ------------------------------------------------------------
   目的：让圈子插件（前台/后台/模态框/读书圈）的配色与字体
        与核心「政务严肃风格」(.dd-body-page) 保持统一。
   加载：由 hook/layout_head_end.php 在 style.css 之后注入
   作用域：.grp-wrap / .grp-admin / .grp-modal / .rdg-wrap
   原则：不改动 style.css 原有结构，仅做增量覆盖。
   ------------------------------------------------------------
   修订记录：
     v2 (2026-10-06)  按钮强调色 金 → 蓝；标题衬线不再强制 color
     v3 (2026-10-06)  Hero 面板文字/按钮颜色钉死；
                      「创建圈子」白底按钮显式深蓝字
     v4 (2026-10-06)  ★ 所有主按钮强制蓝色（!important 兜底，
                        修正某些上下文按钮变红的问题）；
                      ★ 隐藏主题列表「作者 / 时间」列
   ============================================================ */

/* ============================================================
   一、设计令牌（Design Tokens）对齐
   ============================================================ */
.grp-wrap,
.grp-admin,
.grp-modal,
.rdg-wrap {
    --grp-serif: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "SimSun", "STSong", Georgia, serif;
    --grp-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;

    /* 主色（深藏蓝） */
    --grp-primary: #1a4480;
    --grp-primary-hover: #143566;
    --grp-primary-deep: #0f2d5c;
    --grp-primary-light: #eaf0f8;
    --grp-primary-subtle: #f3f7fc;
    --grp-primary-line: #c7d5e8;

    /* 金色（仅装饰，不用于按钮） */
    --grp-gold: #b8860b;
    --grp-gold-dark: #9a7009;
    --grp-gold-light: #fdf5e6;
    --grp-gold-line: #f0dca0;

    /* 危险色（仅用于删除/错误） */
    --grp-accent: #c8102e;
    --grp-accent-light: #fdeff1;

    /* 成功色 */
    --grp-success: #2e7d32;
    --grp-success-light: #e8f4ea;
    --grp-success-line: #b6ddb9;

    /* 背景 / 卡片 */
    --grp-bg: #f5f6f8;
    --grp-card: #ffffff;
    --grp-bg-row-hover: #f7f9fc;

    /* 文字 */
    --grp-text: #1a1a1a;
    --grp-text-2: #5a6472;
    --grp-text-3: #8c94a0;

    /* 边框 */
    --grp-border: #e3e6ec;
    --grp-border-lt: #eef0f3;
    --grp-border-strong: #c9cfd8;

    /* 圆角 */
    --grp-radius: 4px;
    --grp-radius-sm: 4px;
    --grp-radius-lg: 6px;

    /* 阴影 */
    --grp-shadow-sm: 0 1px 2px rgba(26, 68, 128, 0.04);
    --grp-shadow: 0 1px 3px rgba(26, 68, 128, 0.06);
}

/* ============================================================
   二、字体族应用
   ============================================================ */
.grp-wrap,
.grp-admin,
.grp-modal,
.rdg-wrap {
    font-family: var(--grp-sans);
    -webkit-font-smoothing: antialiased;
}

/* 标题衬线化（★ 不写 color，各元素保留自身颜色） */
.grp-wrap .grp-page-title,
.grp-wrap .grp-title,
.grp-wrap .grp-hero-panel-title,
.grp-wrap .grp-thread-title,
.grp-wrap .grp-card-name,
.grp-wrap .grp-card-name .grp-card-title,
.grp-wrap .grp-profile-name,
.grp-wrap .grp-manage-head .grp-title,
.grp-wrap .grp-forum-head-left .grp-title,
.grp-wrap .grp-hero-body .grp-title,
.grp-admin .grp-page-title,
.grp-admin .grp-title,
.grp-admin .grp-h2,
.grp-wrap .grp-h2,
.rdg-wrap .rdg-hero-title,
.rdg-wrap .rdg-panel-title,
.rdg-wrap .rdg-reader-chapter-title {
    font-family: var(--grp-serif);
    font-weight: 700;
    letter-spacing: 0.5px;
}

/* ============================================================
   三、面板标题左侧装饰竖条
   ============================================================ */
.grp-wrap .grp-h2,
.grp-admin .grp-h2 {
    position: relative;
    padding-left: 12px;
    margin: 24px 0 14px;
    font-size: 16px;
    line-height: 1.4;
}
.grp-wrap .grp-h2::before,
.grp-admin .grp-h2::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 16px;
    background: var(--grp-primary);
    border-radius: 0 2px 2px 0;
}
.grp-wrap .grp-h2-flush,
.grp-admin .grp-h2-flush { margin-top: 0; }

.grp-wrap .grp-side-panel .grp-h2 {
    padding-bottom: 10px;
    padding-left: 12px;
    margin: 0 0 12px;
    border-bottom: 1px solid var(--grp-border);
}

/* ============================================================
   四、页头
   ============================================================ */
.grp-wrap .grp-page-head,
.grp-admin .grp-page-head {
    position: relative;
    padding: 20px 0 18px;
    margin-bottom: 22px;
    border-bottom: 2px solid var(--grp-primary);
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}
.grp-wrap .grp-page-head::before,
.grp-admin .grp-page-head::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 80px;
    height: 2px;
    background: var(--grp-gold);
}
.grp-wrap .grp-page-title,
.grp-admin .grp-page-title {
    font-size: 26px;
    line-height: 1.3;
    margin: 0 0 6px;
}
.grp-wrap .grp-page-sub,
.grp-admin .grp-page-sub {
    font-size: 13px;
    color: var(--grp-text-3);
    line-height: 1.6;
    margin: 0;
}

/* ============================================================
   五、按钮（蓝 / 白 / 红三色；不用金色）
   ============================================================ */
.grp-wrap .grp-btn,
.grp-admin .grp-btn,
.grp-modal .grp-btn,
.rdg-wrap .rdg-btn {
    border-radius: var(--grp-radius);
    font-family: inherit;
    letter-spacing: 0.2px;
    transition: background .15s, border-color .15s, color .15s, transform .15s;
}

/* 主按钮：蓝底白字 */
.grp-wrap .grp-btn-primary,
.grp-admin .grp-btn-primary,
.rdg-wrap .rdg-btn-primary {
    background: var(--grp-primary);
    border-color: var(--grp-primary);
    color: #fff;
}
.grp-wrap .grp-btn-primary:hover,
.grp-admin .grp-btn-primary:hover,
.rdg-wrap .rdg-btn-primary:hover {
    background: var(--grp-primary-hover);
    border-color: var(--grp-primary-hover);
    color: #fff;
}

/* 强调按钮：也走蓝色 */
.grp-wrap .grp-btn-accent,
.grp-admin .grp-btn-accent,
.rdg-wrap .rdg-btn-accent {
    background: var(--grp-primary);
    border-color: var(--grp-primary);
    color: #fff;
}
.grp-wrap .grp-btn-accent:hover,
.grp-admin .grp-btn-accent:hover,
.rdg-wrap .rdg-btn-accent:hover {
    background: var(--grp-primary-hover);
    border-color: var(--grp-primary-hover);
    color: #fff;
}

/* 危险按钮：白底红字 → 悬停红底白字 */
.grp-wrap .grp-btn-danger,
.grp-admin .grp-btn-danger {
    color: var(--grp-accent);
    border-color: var(--grp-accent);
    background: transparent;
}
.grp-wrap .grp-btn-danger:hover,
.grp-admin .grp-btn-danger:hover {
    background: var(--grp-accent);
    color: #fff;
    border-color: var(--grp-accent);
}

/* 默认按钮：白底蓝字 → 悬停浅蓝底 */
.grp-wrap .grp-btn:hover,
.grp-admin .grp-btn:hover,
.grp-modal .grp-btn:hover,
.rdg-wrap .rdg-btn:hover {
    border-color: var(--grp-primary);
    color: var(--grp-primary);
    background: var(--grp-primary-light);
}

/* ============================================================
   六、Tabs / Chips
   ============================================================ */
.grp-wrap .grp-tab,
.grp-admin .grp-tab {
    font-family: inherit;
    letter-spacing: 0.3px;
}
.grp-wrap .grp-tab.active,
.grp-admin .grp-tab.active {
    color: var(--grp-primary);
    font-weight: 700;
}
.grp-wrap .grp-tab.active::after,
.grp-admin .grp-tab.active::after {
    background: var(--grp-primary);
}

.grp-wrap .grp-chip.active {
    background: var(--grp-primary);
    border-color: var(--grp-primary);
    color: #fff;
    font-weight: 600;
}
.grp-wrap .grp-chip:hover {
    border-color: var(--grp-primary);
    color: var(--grp-primary);
    background: var(--grp-primary-light);
}

/* ============================================================
   七、卡片与徽章
   ============================================================ */
.grp-wrap .grp-card {
    border-radius: var(--grp-radius-lg);
    transition: border-color .2s, box-shadow .2s, transform .2s;
}
.grp-wrap .grp-card:hover {
    border-color: var(--grp-primary);
    box-shadow: 0 4px 12px rgba(26, 68, 128, 0.08);
    transform: translateY(-1px);
}
.grp-wrap .grp-card-name .grp-card-title {
    font-family: var(--grp-serif);
    font-weight: 700;
    letter-spacing: 0.3px;
}
.grp-wrap .grp-square-grid .grp-card:hover {
    box-shadow: 0 4px 14px rgba(26, 68, 128, 0.10);
}

/* 徽章（金色保留在装饰性徽章上） */
.grp-wrap .grp-badge-official {
    background: var(--grp-primary-light);
    color: var(--grp-primary);
    border-color: var(--grp-primary-line);
}
.grp-wrap .grp-badge-quality {
    background: var(--grp-gold-light);
    color: var(--grp-gold);
    border-color: var(--grp-gold-line);
}
.grp-wrap .grp-badge-recommend {
    background: var(--grp-accent-light);
    color: var(--grp-accent);
    border-color: rgba(200, 16, 46, 0.3);
}
.grp-wrap .grp-badge-custom {
    background: var(--grp-bg);
    color: var(--grp-text-2);
    border-color: var(--grp-border);
}
.grp-wrap .grp-lv {
    background: var(--grp-primary-light);
    color: var(--grp-primary);
    border-color: var(--grp-primary-line);
}

/* ============================================================
   八、Hero 面板（广场顶部）—— 深蓝背景
   ============================================================ */
.grp-wrap .grp-hero-panel {
    background: linear-gradient(135deg, #1a4480 0%, #204f8f 45%, #2a5aa8 100%);
    border-radius: var(--grp-radius-lg);
    box-shadow: 0 8px 24px rgba(26, 68, 128, 0.18);
    color: #ffffff;
}

/* ---- 8.1 标题 / 副标题 ---- */
.grp-wrap .grp-hero-panel-title {
    font-family: var(--grp-serif);
    font-size: 30px;
    letter-spacing: 1.5px;
    color: #ffffff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.10);
}
.grp-wrap .grp-hero-panel-sub {
    color: rgba(255, 255, 255, 0.78);
    letter-spacing: 0.3px;
}

/* ---- 8.2 搜索框（白底深字） ---- */
.grp-wrap .grp-hero-panel-input {
    color: #1a1a1a;
    background: rgba(255, 255, 255, 0.96);
    border-color: transparent;
}
.grp-wrap .grp-hero-panel-input:hover { background: #ffffff; }
.grp-wrap .grp-hero-panel-input:focus {
    background: #ffffff;
    border-color: rgba(255, 255, 255, 0.4);
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.22);
}
.grp-wrap .grp-hero-panel-input::placeholder { color: #8c94a0; }

/* 搜索按钮：深蓝底 + 白字 */
.grp-wrap .grp-hero-panel-search-btn {
    background: var(--grp-primary-deep);
    border-color: var(--grp-primary-deep);
    color: #ffffff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}
.grp-wrap .grp-hero-panel-search-btn:hover {
    background: #0a244a;
    border-color: #0a244a;
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.28);
}

/* ---- 8.3 中部：数值 / 标签 / 分隔线 ---- */
.grp-wrap .grp-hero-panel-value,
.grp-wrap .grp-hero-panel-value-sm {
    color: #ffffff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.10);
}
.grp-wrap .grp-hero-panel-label {
    color: rgba(255, 255, 255, 0.72);
}
.grp-wrap .grp-hero-panel-divider {
    background: rgba(255, 255, 255, 0.22);
}

/* ---- 8.4 快捷入口按钮 ---- */
.grp-wrap .grp-hero-panel-quick-item {
    background: rgba(255, 255, 255, 0.10);
    border-color: rgba(255, 255, 255, 0.18);
    color: #ffffff;
}
.grp-wrap .grp-hero-panel-quick-item:hover {
    background: rgba(255, 255, 255, 0.22);
    border-color: rgba(255, 255, 255, 0.42);
    color: #ffffff;
}
.grp-wrap .grp-hero-panel-quick-icon {
    background: rgba(255, 255, 255, 0.16);
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.22);
}
.grp-wrap .grp-hero-panel-quick-item:hover .grp-hero-panel-quick-icon {
    background: rgba(255, 255, 255, 0.30);
}
.grp-wrap .grp-hero-panel-quick-title { color: #ffffff; }
.grp-wrap .grp-hero-panel-quick-desc  { color: rgba(255, 255, 255, 0.68); }

/* 「创建圈子」按钮 —— 白底深蓝字（钉死颜色，不继承父级） */
.grp-wrap .grp-hero-panel .grp-hero-panel-create {
    background: #ffffff;
    color: var(--grp-primary);
    border: 1px solid #ffffff;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}
.grp-wrap .grp-hero-panel .grp-hero-panel-create:hover {
    background: #f3f7fc;
    color: var(--grp-primary-deep);
    border-color: #f3f7fc;
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.20);
}
.grp-wrap .grp-hero-panel .grp-hero-panel-create i { color: inherit; }

/* 兜底：Hero 面板内任何 .grp-btn 都白底蓝字 */
.grp-wrap .grp-hero-panel .grp-btn {
    color: var(--grp-primary);
    background: #fff;
    border-color: #fff;
}
.grp-wrap .grp-hero-panel .grp-btn:hover {
    color: var(--grp-primary-deep);
    background: #f3f7fc;
    border-color: #f3f7fc;
}

/* ============================================================
   九、圈子首页 Hero（白底卡片）—— 保持深色字
   ============================================================ */
.grp-wrap .grp-hero-body .grp-title {
    font-family: var(--grp-serif);
    font-size: 26px;
    letter-spacing: 0.5px;
    color: var(--grp-text);
}

/* 读书圈 Hero 按钮 */
.grp-wrap .grp-action-btn-reading {
    background: linear-gradient(135deg, #2b5f9e, #1f4a80);
    border-color: #1f4a80;
    color: #fff;
}
.grp-wrap .grp-action-btn-reading:hover {
    background: linear-gradient(135deg, #1f4a80, #143566);
    border-color: #143566;
    color: #fff;
}
.grp-wrap .grp-action-btn-reading-outline {
    background: #fff;
    border-color: rgba(43, 95, 158, 0.35);
    color: #2b5f9e;
}
.grp-wrap .grp-action-btn-reading-outline:hover {
    background: #eaf0f8;
    border-color: #2b5f9e;
    color: #2b5f9e;
}

/* ============================================================
   十、帖子 / 富文本
   ============================================================ */
.grp-wrap .grp-thread-title {
    font-family: var(--grp-serif);
    letter-spacing: 0.3px;
}
.grp-wrap .grp-post-content { font-family: var(--grp-sans); }
.grp-wrap .grp-post-main,
.grp-wrap .grp-post { border-radius: var(--grp-radius-lg); }

/* ============================================================
   十一、表格
   ============================================================ */
.grp-wrap .grp-table,
.grp-admin .grp-table {
    border-radius: var(--grp-radius-lg);
    overflow: hidden;
}
.grp-wrap .grp-table th,
.grp-admin .grp-table th {
    background: var(--grp-primary-light);
    color: var(--grp-text-2);
    font-weight: 700;
    letter-spacing: 0.3px;
}
.grp-wrap .grp-table tr:hover td,
.grp-admin .grp-table tr:hover td {
    background: var(--grp-primary-light);
}

/* ============================================================
   十二、表单控件
   ============================================================ */
.grp-wrap .grp-input,
.grp-admin .grp-input,
.grp-modal .grp-input,
.grp-wrap select.grp-input,
.grp-admin select.grp-input {
    font-family: inherit;
    border-radius: var(--grp-radius);
    border-color: var(--grp-border-strong);
    transition: border-color .15s, box-shadow .15s;
}
.grp-wrap .grp-input:hover,
.grp-admin .grp-input:hover,
.grp-modal .grp-input:hover {
    border-color: var(--grp-text-3);
}
.grp-wrap .grp-input:focus,
.grp-admin .grp-input:focus,
.grp-modal .grp-input:focus {
    outline: none;
    border-color: var(--grp-primary);
    box-shadow: 0 0 0 3px var(--grp-primary-light);
}
.grp-wrap textarea.grp-input,
.grp-admin textarea.grp-input { resize: vertical; }

/* ============================================================
   十三、数据条 / 统计数字
   ============================================================ */
.grp-wrap .grp-databar,
.grp-admin .grp-databar { border-radius: var(--grp-radius); }
.grp-wrap .grp-databar-value,
.grp-admin .grp-databar-value,
.grp-wrap .grp-stat-value,
.grp-admin .grp-stat-value {
    font-family: "DIN Alternate", "Helvetica Neue", Arial, sans-serif;
    letter-spacing: -0.5px;
    color: var(--grp-primary);
}

/* ============================================================
   十四、模态框
   ============================================================ */
.grp-modal .grp-modal-head {
    background: var(--grp-primary-light);
    border-bottom: 1px solid var(--grp-border);
}
.grp-modal .grp-modal-head h3 {
    color: var(--grp-primary);
    font-family: var(--grp-serif);
    letter-spacing: 0.3px;
    font-weight: 700;
}
.grp-modal .grp-modal-actions .grp-btn-primary {
    background: var(--grp-primary);
    border-color: var(--grp-primary);
    color: #fff;
}
.grp-modal .grp-modal-actions .grp-btn-primary:hover {
    background: var(--grp-primary-hover);
    border-color: var(--grp-primary-hover);
    color: #fff;
}

/* ============================================================
   十五、快捷入口
   ============================================================ */
.grp-wrap .grp-quicknav-item {
    border-radius: var(--grp-radius-lg);
    transition: border-color .15s, background .15s, transform .15s, box-shadow .2s;
}
.grp-wrap .grp-quicknav-item:hover {
    border-color: var(--grp-primary);
    background: var(--grp-primary-light);
    box-shadow: 0 4px 12px rgba(26, 68, 128, 0.10);
    transform: translateY(-1px);
}
.grp-wrap .grp-quicknav-title {
    font-family: var(--grp-serif);
    font-weight: 700;
    letter-spacing: 0.3px;
}

/* ============================================================
   十六、贡献榜 / 成员芯片
   ============================================================ */
.grp-wrap .grp-contrib-rank { font-family: "DIN Alternate", Arial, sans-serif; }
.grp-wrap .grp-contributors > li:nth-child(1) .grp-contrib-rank {
    background: var(--grp-gold);
    border-color: var(--grp-gold);
    color: #fff;
}
.grp-wrap .grp-member-chip:hover {
    color: var(--grp-primary);
    background: var(--grp-primary-light);
    border-color: var(--grp-primary-line);
}

/* ============================================================
   十七、角色标签
   ============================================================ */
.grp-wrap .grp-role,
.grp-admin .grp-role {
    border-radius: 2px;
    letter-spacing: 0.3px;
    font-weight: 700;
}

/* ============================================================
   十八、签到 / 打赏 / 编辑历史
   ============================================================ */
.grp-wrap .grp-cal { border-radius: var(--grp-radius-lg); }
.grp-wrap .grp-checkin-msgs { border-radius: var(--grp-radius-lg); }
.grp-wrap .grp-tip-wall {
    border-radius: var(--grp-radius);
    border-left: 3px solid var(--grp-gold);
}
.grp-wrap .grp-tip-wall-title {
    color: var(--grp-gold);
    font-weight: 700;
    letter-spacing: 0.3px;
}
.grp-wrap .grp-history-item { border-radius: var(--grp-radius-lg); }

/* ============================================================
   十九、成就 / 任务 / 活动卡片
   ============================================================ */
.grp-wrap .grp-ach-card { border-radius: var(--grp-radius-lg); }
.grp-wrap .grp-ach-unlocked {
    background: linear-gradient(135deg, var(--grp-gold-light), var(--grp-card));
    border-color: var(--grp-gold-line);
    box-shadow: 0 2px 12px rgba(184, 134, 11, 0.12);
}
.grp-wrap .grp-ach-name {
    font-family: var(--grp-serif);
    font-weight: 700;
    letter-spacing: 0.3px;
}
.grp-wrap .grp-task-title {
    font-family: var(--grp-serif);
    font-weight: 700;
    letter-spacing: 0.3px;
}
.grp-wrap .grp-event-chip {
    border-radius: 999px;
    color: var(--grp-primary);
    border-color: var(--grp-primary-line);
    background: #fff;
}
.grp-wrap .grp-event-chip:hover {
    background: var(--grp-primary);
    border-color: var(--grp-primary);
    color: #fff;
}

/* ============================================================
   二十、后台
   ============================================================ */
.grp-admin {
    background: var(--grp-card);
    border-radius: var(--grp-radius-lg);
}
.grp-admin .grp-card-form { border-radius: var(--grp-radius-lg); }
.grp-admin .grp-stat-card  { border-radius: var(--grp-radius-lg); }
.grp-admin .grp-stat-card-accent { border-left: 3px solid var(--grp-primary); }
.grp-admin .grp-stat-card-danger {
    border-left: 3px solid var(--grp-accent);
    background: var(--grp-accent-light);
}
.grp-admin .grp-chart { border-radius: var(--grp-radius-lg); }
.grp-admin .grp-chart-bar-th { background: var(--grp-primary); }

/* ============================================================
   二十一、读书圈
   ============================================================ */
.rdg-wrap .rdg-panel,
.rdg-wrap .rdg-hero,
.rdg-wrap .rdg-stat,
.rdg-wrap .rdg-checkin-msgs,
.rdg-wrap .rdg-cal { border-radius: var(--grp-radius-lg); }
.rdg-wrap .rdg-btn { border-radius: var(--grp-radius); }
.rdg-wrap .rdg-chapter-item { border-radius: var(--grp-radius); }
.rdg-wrap .rdg-chapter-item:hover {
    background: var(--grp-primary-light);
    color: var(--grp-primary);
    border-color: var(--grp-primary);
}
.rdg-wrap .rdg-btn-primary {
    background: var(--grp-primary);
    border-color: var(--grp-primary);
    color: #fff;
}
.rdg-wrap .rdg-btn-primary:hover {
    background: var(--grp-primary-hover);
    border-color: var(--grp-primary-hover);
    color: #fff;
}
.rdg-wrap .rdg-btn-accent {
    background: var(--grp-primary);
    border-color: var(--grp-primary);
    color: #fff;
}
.rdg-wrap .rdg-btn-accent:hover {
    background: var(--grp-primary-hover);
    border-color: var(--grp-primary-hover);
    color: #fff;
}

/* ============================================================
   二十二、Toast
   ============================================================ */
.grp-toast {
    border-radius: var(--grp-radius);
    font-family: var(--grp-sans);
}

/* ============================================================
   二十三、深色主题对齐
   ============================================================ */
html[data-theme="dark"] .grp-wrap,
html.dark .grp-wrap,
body.dark .grp-wrap,
body.theme-dark .grp-wrap,
.dark-theme .grp-wrap,
html[data-theme="dark"] .grp-admin,
html.dark .grp-admin,
body.dark .grp-admin,
body.theme-dark .grp-admin,
.dark-theme .grp-admin,
html[data-theme="dark"] .grp-modal,
html.dark .grp-modal,
body.dark .grp-modal,
body.theme-dark .grp-modal,
.dark-theme .grp-modal,
html[data-theme="dark"] .rdg-wrap,
html.dark .rdg-wrap,
body.dark .rdg-wrap,
body.theme-dark .rdg-wrap,
.dark-theme .rdg-wrap {
    --grp-primary: #4a7bc8;
    --grp-primary-hover: #5a8bd8;
    --grp-primary-deep: #3a6bb8;
    --grp-primary-light: rgba(74, 123, 200, 0.14);
    --grp-primary-subtle: rgba(74, 123, 200, 0.08);
    --grp-primary-line: rgba(74, 123, 200, 0.35);
    --grp-gold: #d4a02a;
    --grp-gold-dark: #b98d20;
    --grp-gold-light: rgba(212, 160, 42, 0.12);
    --grp-gold-line: rgba(212, 160, 42, 0.35);
    --grp-accent: #e54d5e;
    --grp-accent-light: rgba(229, 77, 94, 0.14);
    --grp-success: #4caf50;
    --grp-success-light: rgba(76, 175, 80, 0.12);
    --grp-success-line: rgba(76, 175, 80, 0.35);
    --grp-bg: var(--mn-bg, #1a1d24);
    --grp-card: var(--mn-bg-card, #232833);
    --grp-bg-row-hover: rgba(74, 123, 200, 0.06);
    --grp-text: var(--mn-text, #e8eaee);
    --grp-text-2: var(--mn-text-secondary, #b4b9c4);
    --grp-text-3: var(--mn-text-muted, #7a8190);
    --grp-border: var(--mn-border, #343a45);
    --grp-border-lt: rgba(255, 255, 255, 0.06);
    --grp-border-strong: var(--mn-border-strong, #4a5060);
}

/* 深色下 Hero 面板文字仍为白色；「创建圈子」仍为白底深蓝字 */
html[data-theme="dark"] .grp-wrap .grp-hero-panel-title,
html.dark .grp-wrap .grp-hero-panel-title,
body.dark .grp-wrap .grp-hero-panel-title,
body.theme-dark .grp-wrap .grp-hero-panel-title,
.dark-theme .grp-wrap .grp-hero-panel-title,
html[data-theme="dark"] .grp-wrap .grp-hero-panel-value,
html.dark .grp-wrap .grp-hero-panel-value,
body.dark .grp-wrap .grp-hero-panel-value,
body.theme-dark .grp-wrap .grp-hero-panel-value,
.dark-theme .grp-wrap .grp-hero-panel-value {
    color: #ffffff;
}
html[data-theme="dark"] .grp-wrap .grp-hero-panel .grp-hero-panel-create,
html.dark .grp-wrap .grp-hero-panel .grp-hero-panel-create,
body.dark .grp-wrap .grp-hero-panel .grp-hero-panel-create,
body.theme-dark .grp-wrap .grp-hero-panel .grp-hero-panel-create,
.dark-theme .grp-wrap .grp-hero-panel .grp-hero-panel-create {
    background: #ffffff;
    color: var(--grp-primary-deep);
    border-color: #ffffff;
}

/* ============================================================
   二十四、响应式微调
   ============================================================ */
@media (max-width: 768px) {
    .grp-wrap .grp-page-title,
    .grp-admin .grp-page-title { font-size: 22px; }
    .grp-wrap .grp-page-head,
    .grp-admin .grp-page-head {
        padding: 16px 0 14px;
        margin-bottom: 18px;
    }
}

@media (max-width: 640px) {
    .grp-wrap .grp-page-title,
    .grp-admin .grp-page-title { font-size: 20px; }
    .grp-wrap .grp-h2,
    .grp-admin .grp-h2 { font-size: 15px; margin: 18px 0 12px; }
    .grp-wrap .grp-hero-panel-title,
    .grp-wrap .grp-hero-body .grp-title {
        font-size: 22px;
        letter-spacing: 0.5px;
    }
    .grp-wrap .grp-hero-panel .grp-hero-panel-create {
        width: 100%;
        justify-content: center;
    }
}

/* ============================================================
   二十五、★ 强制统一：所有主操作按钮为蓝色（!important 兜底）
   ------------------------------------------------------------
   修正某些上下文（核心主题按钮规则、自定义主题等）
   把 .grp-btn-primary 覆盖成红色的情况。
   只影响"蓝色系主按钮"，不触碰 grp-btn-danger（红字删除按钮）。
   ============================================================ */

/* ---- 25.1 主按钮 / 强调按钮：蓝底白字 ---- */
.grp-wrap .grp-btn-primary,
.grp-wrap .grp-btn-accent,
.grp-admin .grp-btn-primary,
.grp-admin .grp-btn-accent,
.grp-modal .grp-btn-primary,
.grp-modal .grp-btn-accent,
.rdg-wrap .rdg-btn-primary,
.rdg-wrap .rdg-btn-accent {
    background-color: var(--grp-primary) !important;
    border-color: var(--grp-primary) !important;
    color: #ffffff !important;
}
.grp-wrap .grp-btn-primary:hover,
.grp-wrap .grp-btn-accent:hover,
.grp-admin .grp-btn-primary:hover,
.grp-admin .grp-btn-accent:hover,
.grp-modal .grp-btn-primary:hover,
.grp-modal .grp-btn-accent:hover,
.rdg-wrap .rdg-btn-primary:hover,
.rdg-wrap .rdg-btn-accent:hover {
    background-color: var(--grp-primary-hover) !important;
    border-color: var(--grp-primary-hover) !important;
    color: #ffffff !important;
}
/* 图标跟随文字色 */
.grp-wrap .grp-btn-primary i,
.grp-wrap .grp-btn-accent i,
.grp-admin .grp-btn-primary i,
.grp-admin .grp-btn-accent i,
.rdg-wrap .rdg-btn-primary i,
.rdg-wrap .rdg-btn-accent i {
    color: inherit !important;
}

/* ---- 25.2 搜索按钮（Hero 面板内 / 版块页搜索栏 / 圈内搜索） ---- */
.grp-wrap .grp-hero-panel-search-btn,
.grp-wrap .grp-bar-search .grp-btn,
.grp-wrap .grp-search .grp-btn,
.grp-wrap .grp-search .grp-btn-primary {
    background-color: var(--grp-primary) !important;
    border-color: var(--grp-primary) !important;
    color: #ffffff !important;
}
.grp-wrap .grp-hero-panel-search-btn:hover,
.grp-wrap .grp-bar-search .grp-btn:hover,
.grp-wrap .grp-search .grp-btn:hover,
.grp-wrap .grp-search .grp-btn-primary:hover {
    background-color: var(--grp-primary-hover) !important;
    border-color: var(--grp-primary-hover) !important;
    color: #ffffff !important;
}

/* ---- 25.3 签到按钮 ---- */
.grp-wrap .grp-checkin-btn,
.grp-wrap .grp-checkin-form .grp-btn,
.grp-wrap .grp-checkin-form .grp-btn-primary {
    background-color: var(--grp-primary) !important;
    border-color: var(--grp-primary) !important;
    color: #ffffff !important;
}
.grp-wrap .grp-checkin-btn:hover,
.grp-wrap .grp-checkin-form .grp-btn:hover,
.grp-wrap .grp-checkin-form .grp-btn-primary:hover {
    background-color: var(--grp-primary-hover) !important;
    border-color: var(--grp-primary-hover) !important;
    color: #ffffff !important;
}
/* 已签到的禁用态也保持蓝底 */
.grp-wrap .grp-checkin-btn[disabled],
.grp-wrap .grp-btn-disabled.grp-checkin-btn {
    background-color: var(--grp-primary) !important;
    border-color: var(--grp-primary) !important;
    color: #ffffff !important;
    opacity: 0.55;
}

/* ---- 25.4 默认按钮（含「退出圈子」「SEO 设置」「收藏」「圈子管理」等）：
       统一为 白底 + 蓝框 + 蓝字；悬停浅蓝底 ---- */
.grp-wrap .grp-btn:not(.grp-btn-primary):not(.grp-btn-accent):not(.grp-btn-danger):not(.grp-btn-fav):not(.grp-btn-disabled),
.grp-admin .grp-btn:not(.grp-btn-primary):not(.grp-btn-accent):not(.grp-btn-danger):not(.grp-btn-fav):not(.grp-btn-disabled) {
    background-color: #ffffff !important;
    border-color: var(--grp-primary-line) !important;
    color: var(--grp-primary) !important;
}
.grp-wrap .grp-btn:not(.grp-btn-primary):not(.grp-btn-accent):not(.grp-btn-danger):not(.grp-btn-fav):not(.grp-btn-disabled):hover,
.grp-admin .grp-btn:not(.grp-btn-primary):not(.grp-btn-accent):not(.grp-btn-danger):not(.grp-btn-fav):not(.grp-btn-disabled):hover {
    background-color: var(--grp-primary-light) !important;
    border-color: var(--grp-primary) !important;
    color: var(--grp-primary-hover) !important;
}
/* 默认按钮内的图标跟随文字 */
.grp-wrap .grp-btn:not(.grp-btn-primary):not(.grp-btn-accent):not(.grp-btn-danger):not(.grp-btn-fav):not(.grp-btn-disabled) i,
.grp-admin .grp-btn:not(.grp-btn-primary):not(.grp-btn-accent):not(.grp-btn-danger):not(.grp-btn-fav):not(.grp-btn-disabled) i {
    color: inherit !important;
}

/* ---- 25.5 深色主题下默认按钮：透明底 + 蓝框蓝字（避免白底刺眼） ---- */
html[data-theme="dark"] .grp-wrap .grp-btn:not(.grp-btn-primary):not(.grp-btn-accent):not(.grp-btn-danger):not(.grp-btn-fav):not(.grp-btn-disabled),
html.dark .grp-wrap .grp-btn:not(.grp-btn-primary):not(.grp-btn-accent):not(.grp-btn-danger):not(.grp-btn-fav):not(.grp-btn-disabled),
body.dark .grp-wrap .grp-btn:not(.grp-btn-primary):not(.grp-btn-accent):not(.grp-btn-danger):not(.grp-btn-fav):not(.grp-btn-disabled),
body.theme-dark .grp-wrap .grp-btn:not(.grp-btn-primary):not(.grp-btn-accent):not(.grp-btn-danger):not(.grp-btn-fav):not(.grp-btn-disabled),
.dark-theme .grp-wrap .grp-btn:not(.grp-btn-primary):not(.grp-btn-accent):not(.grp-btn-danger):not(.grp-btn-fav):not(.grp-btn-disabled) {
    background-color: transparent !important;
    border-color: var(--grp-primary-line) !important;
    color: var(--grp-primary) !important;
}

/* ============================================================
   二十六、★ 隐藏主题列表「作者 / 时间」列
   ------------------------------------------------------------
   首页「最新主题」与版块页「主题列表」共用的 .grp-thread-table
   中的 .grp-thread-col-author 列只显示发布时间，无作者名，
   且发布时间意义不大——整列隐藏，并同步调整表格列宽。
   ============================================================ */

/* 桌面端：两列布局 —— 主帖 + 回复/查看 */
@media (min-width: 769px) {
    .grp-wrap .grp-thread-table-head,
    .grp-wrap .grp-thread-row {
        grid-template-columns: minmax(0, 1fr) 140px !important;
    }
}

/* 移动端：单列 */
@media (max-width: 768px) {
    .grp-wrap .grp-thread-row {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* 隐藏「作者/时间」列 */
.grp-wrap .grp-thread-col-author {
    display: none !important;
}