/* ==========================================================
   HyCOforce v2.0 · 白纸简约设计系统（2026-09-14 批次4 亮色翻转）
   风格基准：appica.dev/ui 极简派 —— 纯白纸底 + 发丝线 + 深色字阶
   配色原则：aidu 三原色 DNA（深蓝 #1F4E79 点睛 / 灰 / 白纸底）
   覆盖策略：
     1) 所有选择器带 body 前缀，压制动态加载的模块 CSS
     2) 文字统一做「继承清洗」，再由标签/语义规则单独着色
     3) 边框统一发丝线，背景统一纸面/玻璃
   设计账本：hycoforce_HSE/DESIGN.md
   ========================================================== */

:root {
    /* 文字三原色（猴哥原则）：标题=logo深蓝 / 正文=黑 / 纯英数=灰 */
    --t1: #1A74A6;
    --t2: #111111;
    --t3: #525252;
    --t4: rgba(82, 82, 82, 0.45);
    /* 唯一强调色：深蓝（三原色本色） */
    --accent: #1F4E79;
    --accent-strong: #2A6296;
    --accent-deep: #163A5C;
    --accent-soft: rgba(31, 78, 121, 0.10);
    --accent-line: rgba(31, 78, 121, 0.30);
    /* 面与线 */
    --glass: rgba(15, 23, 42, 0.04);
    --glass-2: rgba(15, 23, 42, 0.07);
    --panel: rgba(255, 255, 255, 0.78);
    --panel-solid: rgba(255, 255, 255, 0.96);
    --line: rgba(15, 23, 42, 0.09);
    --line-2: rgba(15, 23, 42, 0.16);
    /* 圆角与影 */
    --r-lg: 16px;
    --r-md: 12px;
    --r-sm: 9px;
    --shadow: 0 12px 40px rgba(15, 23, 42, 0.10);
    --shadow-sm: 0 4px 16px rgba(15, 23, 42, 0.06);
    /* 语义色（浅底可读版） */
    --ok: #059669;
    --warn: #D97706;
    --err: #DC2626;
    --purple: #7C3AED;
}

/* ========== 基础 ========== */
body {
    color: var(--t2);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
::selection { background: rgba(77, 148, 212, 0.30); color: #fff; }

*::-webkit-scrollbar { width: 8px; height: 8px; }
*::-webkit-scrollbar-track { background: transparent; }
*::-webkit-scrollbar-thumb { background: rgba(15, 23, 42, 0.16); border-radius: 8px; }
*::-webkit-scrollbar-thumb:hover { background: rgba(15, 23, 42, 0.28); }

/* ========== 文字「白色继承清洗」==========
   内容区与弹窗内所有文字元素强制继承容器字色，
   洗掉旧浅底主题里的深灰/品牌蓝；标签语义色由下方规则单独恢复 */
body .content-area { color: var(--t2); }
body .content-area div, body .content-area span, body .content-area p,
body .content-area td, body .content-area th, body .content-area label,
body .content-area li, body .content-area small, body .content-area strong,
body .content-area em, body .content-area b, body .content-area i,
body .content-area section, body .content-area article,
body [class*="-modal"] div, body [class*="-modal"] span, body [class*="-modal"] p,
body [class*="-modal"] td, body [class*="-modal"] th, body [class*="-modal"] label,
body [class*="-modal"] li, body [class*="-modal"] small, body [class*="-modal"] strong,
body .profile-modal div, body .profile-modal span,
body .announcement-detail-modal div, body .announcement-detail-modal span,
body .po-project-detail-modal div, body .po-project-detail-modal span {
    color: inherit !important;
}
body .content-area h1, body .content-area h2, body .content-area h3,
body .content-area h4, body .content-area h5, body .content-area h6,
body [class*="-modal"] h1, body [class*="-modal"] h2, body [class*="-modal"] h3,
body [class*="-modal"] h4,
body .profile-modal h1, body .profile-modal h2, body .profile-modal h3,
body .announcement-detail-modal h1, body .announcement-detail-modal h2,
body .announcement-detail-modal h3,
body .po-project-detail-modal h1, body .po-project-detail-modal h2,
body .po-project-detail-modal h3 {
    color: var(--t1) !important;
}

/* 链接：白阶，悬停天青 */
body .content-area a, body [class*="-modal"] a { color: var(--t2) !important; text-decoration: none; }
body .content-area a:hover, body [class*="-modal"] a:hover { color: var(--accent-strong) !important; }

/* ========== 边框统一发丝线 ========== */
body .content-area [class], body [class*="-modal"] [class],
body .profile-modal [class], body .announcement-detail-modal [class],
body .po-project-detail-modal [class] {
    border-color: var(--line) !important;
}

/* ========== 卡片面（玻璃 + 发丝线 + 圆角） ========== */
body .guide-card, body .file-card,
body .sd-overview-card, body .sd-summary-card, body .sd-detail-card,
body .sd-behavior-card, body .sd-win-loss-card, body .sd-count-main-card,
body .sd-pie-chart-item, body .sd-progress-item, body .sd-weekly-calendar,
body .am-project-card, body .am-stats-panel, body .am-legend,
body .po-risk-card, body .po-swot-item, body .po-log-item, body .po-f-assess,
body .member-org-modal .member-card,
body .welcome-placeholder, body .ap-filter-bar, body .ap-table-wrap {
    background: var(--panel) !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--r-lg) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: var(--shadow-sm) !important;
}
body .guide-card:hover, body .file-card:hover,
body .sd-summary-card:hover, body .am-project-card:hover,
body .member-org-modal .member-card:hover {
    background: rgba(255, 255, 255, 0.92) !important;
    border-color: var(--line-2) !important;
}

/* 看板大横幅 */
body .sd-header-banner {
    background: var(--panel) !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--r-lg) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: var(--shadow-sm) !important;
}
body .sd-banner-title { color: var(--t1) !important; }

/* 区块标题行 */
body .sd-section-title, body .am-stats-header h3, body .am-popup-header h2,
body .po-ro-title, body .ap-modal-header h2, body .sd-behavior-modal-title {
    color: var(--t1) !important;
}

/* ========== 按钮 ==========
   默认：幽灵玻璃；主操作：白底深字；危险：红调 */
body .content-area button, body [class*="-modal"] button,
body .profile-modal button, body .announcement-detail-modal button,
body .po-project-detail-modal button,
body .ap-btn, body .ap-btn-small,
body .po-btn-save, body .po-btn-draft, body .po-btn-cancel, body .po-btn-remove,
body .po-date-btn, body .po-tri-btn,
body .msg-compose button, body .msg-actions button,
body .sd-weekly-cal-nav button {
    background: var(--glass) !important;
    border: 1px solid var(--line) !important;
    color: var(--t1) !important;
    border-radius: var(--r-sm) !important;
    cursor: pointer;
    transition: background 0.18s ease, border-color 0.18s ease, transform 0.12s ease;
}
body .content-area button:hover, body [class*="-modal"] button:hover,
body .profile-modal button:hover, body .ap-btn:hover, body .ap-btn-small:hover,
body .po-btn-save:hover, body .po-btn-draft:hover, body .po-btn-cancel:hover,
body .po-date-btn:hover, body .po-tri-btn:hover {
    background: var(--glass-2) !important;
    border-color: var(--line-2) !important;
}
/* 主操作 = 白底深字（极简派标志动作） */
body .po-btn-save, body .ap-btn, body .sd-weekly-cal-nav button.active {
    background: var(--accent) !important;
    color: #FFFFFF !important;
    border-color: var(--accent) !important;
    font-weight: 600;
}
body .po-btn-save:hover, body .ap-btn:hover {
    background: var(--accent-deep) !important;
}
/* 危险操作 */
body .ap-btn-danger, body .po-btn-remove {
    background: rgba(220, 38, 38, 0.08) !important;
    color: var(--err) !important;
    border-color: rgba(220, 38, 38, 0.28) !important;
}
body .ap-btn-danger:hover, body .po-btn-remove:hover {
    background: rgba(220, 38, 38, 0.14) !important;
}
/* 关闭按钮 */
body .ap-modal-close, body .am-close-btn, body .sd-behavior-modal-close,
body .member-org-modal .modal-close, body .detail-close, body .po-ro-close,
body .pwd-body .pwd-close, body .msg-modal .msg-close {
    background: transparent !important;
    border: none !important;
    color: var(--t3) !important;
}
body .ap-modal-close:hover, body .am-close-btn:hover, body .detail-close:hover,
body .po-ro-close:hover, body .member-org-modal .modal-close:hover {
    color: var(--t1) !important;
    background: var(--glass) !important;
}

/* ========== 表单控件 ========== */
body .content-area input, body .content-area select, body .content-area textarea,
body [class*="-modal"] input, body [class*="-modal"] select, body [class*="-modal"] textarea,
body .profile-modal input, body .profile-modal select,
body .announcement-detail-modal input, body .po-project-detail-modal input,
body .po-project-detail-modal select, body .po-project-detail-modal textarea,
body .ap-filter-bar select, body .ap-filter-bar input, body .am-filter-select {
    background: var(--glass) !important;
    border: 1px solid var(--line) !important;
    color: var(--t1) !important;
    border-radius: var(--r-sm) !important;
    outline: none;
}
body .content-area input:focus, body .content-area select:focus, body .content-area textarea:focus,
body [class*="-modal"] input:focus, body [class*="-modal"] select:focus, body [class*="-modal"] textarea:focus {
    border-color: var(--accent) !important;
    box-shadow: 0 0 0 3px rgba(77, 148, 212, 0.15) !important;
    background: rgba(15, 23, 42, 0.05) !important;
}
body input::placeholder, body textarea::placeholder { color: var(--t4) !important; }
body select option { background: #FFFFFF; color: var(--t1); }

/* 上传虚线区 */
body [class*="-modal"] [style*="dashed"], body .content-area [style*="dashed"] {
    border-color: var(--line-2) !important;
    background: var(--glass) !important;
    border-radius: var(--r-md) !important;
}

/* ========== 表格 ========== */
body .content-area table { border-collapse: collapse; }
body .content-area th, body .ap-table th, body .sd-top5-table th,
body .sd-level-table th, body .sd-behavior-table th, body .sd-win-loss-table th {
    background: rgba(15, 23, 42, 0.04) !important;
    color: var(--t1) !important;
    font-weight: 600;
    border-bottom: 1px solid var(--line-2) !important;
}
body .content-area td, body .ap-table td, body .sd-top5-table td,
body .sd-level-table td, body .sd-behavior-table td, body .sd-win-loss-table td {
    border-bottom: 1px solid var(--line) !important;
}
body .content-area tbody tr:hover, body .ap-table tbody tr:hover,
body .sd-behavior-table tbody tr:hover, body .ap-user-row:hover, body .ap-wr-row:hover {
    background: rgba(15, 23, 42, 0.03) !important;
}

/* ========== 标签 / 徽章（语义色恢复，暗底淡彩丸） ========== */
/* 标签：全部中性玻璃丸（三原色原则，无彩虹）；置顶仅加重视觉层级 */
body .content-area span.tag-pin,
body .content-area span.tag-peer,
body .content-area span.tag-notice,
body .content-area span.tag-update,
body .content-area span.tag-general,
body .content-area span.tag-meeting,
body .content-area span.tag-business,
body .content-area span.tag-industry,
body .content-area span.tag-zhongtai,
body .content-area span.tag-client-meeting,
body .content-area span.tag-contract-signing,
body .content-area span.tag-project-file,
body .content-area span.tag-project-node,
body .content-area span.tag-technical {
    color: var(--t1) !important;
    background: var(--glass) !important;
    border: 1px solid var(--line) !important;
}
body .content-area span.tag-pin { color: var(--t1) !important; border-color: var(--line-2) !important; font-weight: 600; }

body .content-area .sd-report-badge,
body .content-area .sd-progress-badge { border-radius: 999px !important; }
body .content-area .am-status-tag.am-status-design,
body .content-area .am-status-tag.am-status-running { color: var(--t2) !important; background: var(--glass) !important; }

body .content-area .ap-required { color: var(--err) !important; }
body .content-area .po-highlight { color: var(--t1) !important; background: var(--glass-2) !important; }

/* 进度条 */
body .content-area .sd-progress-bar { background: rgba(15, 23, 42, 0.05) !important; border-radius: 999px !important; }
body .content-area .sd-progress-fill { background: #4D94D4 !important; border-radius: 999px !important; }

/* 空态与加载 */
body .content-area .msg-empty, body .content-area .po-log-empty,
body .content-area .am-no-projects, body .content-area .loading-text,
body .content-area .welcome-placeholder { color: var(--t3) !important; }

/* ========== 弹窗（遮罩 + 玻璃盒） ========== */
body .modal-overlay, body .ap-modal-overlay, body .am-popup-overlay,
body .member-org-modal-overlay, body .sd-behavior-modal, body .sd-weekly-report-modal {
    background: rgba(15, 23, 42, 0.32) !important;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
body .pwd-modal, body .msg-modal, body .profile-modal,
body .ap-modal-content, body .am-popup, body .member-org-modal,
body .sd-behavior-modal-content, body .sd-weekly-report-modal-content,
body .announcement-detail-modal, body .po-project-detail-modal {
    background: var(--panel-solid) !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--r-lg) !important;
    box-shadow: var(--shadow) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    color: var(--t2);
}
/* 弹窗内部件 */
body .ap-modal-header, body .am-popup-header, body .sd-behavior-modal-header,
body .member-org-modal .modal-header, body .detail-header, body .po-ro-header,
body .msg-top-row, body .profile-header {
    border-bottom: 1px solid var(--line) !important;
    color: var(--t1);
}
body .detail-title, body .detail-meta, body .detail-body { color: var(--t2); }
body .detail-footer, body .ap-ann-footer, body .po-ro-footer {
    border-top: 1px solid var(--line) !important;
}

/* 站内消息 */
body .msg-tabs { border-bottom: 1px solid var(--line) !important; }
body .msg-tab { color: var(--t3) !important; background: transparent !important; border-radius: 999px !important; }
body .msg-tab:hover { color: var(--t1) !important; background: var(--glass) !important; }
body .msg-tab.active { color: var(--t1) !important; background: var(--glass-2) !important; }
body .msg-item { border-bottom: 1px solid var(--line) !important; }
body .msg-item:hover { background: var(--glass) !important; }
body .msg-subject { color: var(--t1) !important; }
body .msg-preview, body .msg-time, body .msg-from { color: var(--t3) !important; }
body .msg-dot { background: var(--accent) !important; }
body .msg-dot.read { background: rgba(15, 23, 42, 0.15) !important; }

/* 个人信息页 */
body .profile-left { border-right: 1px solid var(--line) !important; }
body .avatar-badge { border-color: var(--line-2) !important; }

/* ========== Toast ========== */
body .toast {
    background: var(--panel-solid) !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--r-md) !important;
    color: var(--t1) !important;
    box-shadow: var(--shadow-sm) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}
body .toast-close { color: var(--t3) !important; }
body .toast-close:hover { color: var(--t1) !important; }
body .toast-error .toast-icon { color: var(--err) !important; }
body .toast-info .toast-icon { color: var(--accent) !important; }

/* ========== AI 小力 ========== */
body .aibot-window {
    background: var(--panel-solid) !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--r-lg) !important;
    box-shadow: var(--shadow) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}
body .aibot-header {
    background: transparent !important;
    border-bottom: 1px solid var(--line) !important;
    color: var(--t1) !important;
}
body .aibot-header * { color: var(--t1) !important; }
body .aibot-close { color: var(--t3) !important; }
body .aibot-close:hover { color: var(--t1) !important; }
body .aibot-msg.bot {
    background: transparent !important;
    border: none !important;
}
body .aibot-msg.bot .aibot-msg-bubble {
    background: #f4f5f7 !important;
    color: #1e293b !important;
    border: none !important;
    padding: 10px 14px !important;
    border-radius: 12px !important;
    border-top-left-radius: 4px !important;
}
body .aibot-msg.bot .aibot-msg-name { color: #94a3b8 !important; }
body .aibot-msg.user {
    background: transparent !important;
    border: none !important;
}
body .aibot-msg.user .aibot-msg-bubble {
    background: #f4f5f7 !important;
    color: #1e293b !important;
    border: none !important;
    border-radius: 12px !important;
    border-top-right-radius: 4px !important;
}
body .aibot-input {
    background: var(--glass) !important;
    border: 1px solid var(--line) !important;
    color: var(--t1) !important;
    border-radius: var(--r-sm) !important;
}
body .aibot-input:focus { border-color: var(--accent) !important; }
body .aibot-send {
    background: var(--accent) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: var(--r-sm) !important;
}

/* ========== 登录页 ========== */
.intro-quad {
    background: var(--panel) !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--r-lg) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: var(--shadow-sm);
    transition: border-color 0.2s ease, transform 0.2s ease;
}
.intro-quad:hover { border-color: var(--line-2) !important; transform: translateY(-2px); }
.intro-quad-cn { color: var(--t1) !important; }
.intro-quad-en { color: var(--t3) !important; letter-spacing: 0.04em; }
.intro-quad-desc { color: var(--t2) !important; }
.intro-icon { stroke: var(--t1); fill: none; }

.login-card {
    background: var(--panel) !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--r-lg) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: var(--shadow) !important;
}
@media screen and (max-width: 768px) {
    .login-card { background: rgba(13, 18, 29, 0.85) !important; }
}

.input-group input {
    background: var(--glass) !important;
    border: 1px solid var(--line) !important;
    color: var(--t2) !important;
    border-radius: var(--r-sm) !important;
}
.input-group input::placeholder { color: var(--t4) !important; }
.input-group input:focus {
    border-color: var(--accent) !important;
    background: rgba(15, 23, 42, 0.05) !important;
    box-shadow: 0 0 0 3px rgba(77, 148, 212, 0.15) !important;
}

.checkmark { border-color: var(--line-2) !important; border-radius: 4px; }
.remember-me input:checked + .checkmark { background: var(--accent) !important; border-color: var(--accent) !important; }
.remember-text { color: var(--t2) !important; }
.forgot-link { color: var(--t3) !important; }
.forgot-link:hover { color: var(--accent-strong) !important; }
.forgot-tooltip {
    background: var(--panel-solid) !important;
    border: 1px solid var(--line) !important;
    color: var(--t2) !important;
    border-radius: var(--r-sm) !important;
}

.login-btn {
    background: var(--t1) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: var(--r-sm) !important;
    font-weight: 600;
    letter-spacing: 0.08em;
    transition: background 0.18s ease, transform 0.12s ease;
}
.login-btn:hover { background: var(--accent) !important; transform: translateY(-1px); }
.login-btn:active { transform: translateY(0); }

.error-msg { color: var(--err) !important; }

.login-footer { color: var(--t3) !important; }
.login-footer strong { color: var(--t2) !important; }
.login-footer a { color: var(--t3) !important; }
.login-footer a:hover { color: var(--accent-strong) !important; }

/* ========== 主界面：侧边栏 ========== */
.sidebar {
    background: rgba(255, 255, 255, 0.72) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-right: 1px solid var(--line) !important;
}
.sidebar-logo img { filter: none; }

.nav-title {
    background: transparent !important;
    color: var(--t1) !important;
    border-radius: var(--r-sm);
    transition: color 0.18s ease, background 0.18s ease;
}
.nav-title:hover { color: var(--t1) !important; background: var(--glass) !important; }
.nav-title .nav-icon .hi { color: var(--t1); }
.nav-title:hover .nav-icon .hi { color: var(--t1); }

.nav-item {
    color: var(--t1) !important;
    border-radius: var(--r-sm) !important;
    transition: color 0.18s ease, background 0.18s ease;
}
.nav-item:hover { color: var(--t1) !important; background: var(--glass) !important; }
.nav-item.active {
    color: var(--t1) !important;
    background: var(--glass-2) !important;
    box-shadow: inset 2px 0 0 var(--accent) !important;
}
.nav-item.active .nav-icon .hi { color: var(--t1); }

.sidebar-user { border-top: 1px solid var(--line) !important; }
.user-box {
    background: var(--glass) !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--r-md) !important;
}
.user-toggle:hover { background: var(--glass-2) !important; }
.user-name { color: var(--t1) !important; }
.user-avatar img { box-shadow: 0 0 0 1px var(--line-2); border-radius: 50%; }
.msg-badge, .msg-badge-inline { background: var(--err) !important; color: #fff !important; }

.user-dropdown {
    background: var(--panel-solid) !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--r-md) !important;
    box-shadow: var(--shadow) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}
.dropdown-item { color: var(--t1) !important; border-radius: var(--r-sm); }
.dropdown-item:hover { background: var(--glass) !important; color: var(--t1) !important; }
.dropdown-item .hi { color: var(--t1); }
.dropdown-item:hover .hi { color: var(--t1); }

/* ========== 面包屑 / 页脚 / 移动件 ========== */
.breadcrumb-text { color: var(--t1) !important; }
.breadcrumb-text .hi { color: var(--t1); }

.page-footer { color: var(--t3) !important; }
.page-footer .footer-slogan {
    color: var(--t1) !important;
    letter-spacing: 0.35em;
    text-shadow: 0 0 24px rgba(31, 78, 121, 0.10);
}
.page-footer a { color: var(--t3) !important; }
.page-footer a:hover { color: var(--accent-strong) !important; }

.mobile-menu-btn {
    background: var(--panel-solid) !important;
    border: 1px solid var(--line) !important;
    box-shadow: var(--shadow-sm) !important;
}
.mobile-menu-btn span { background: var(--t2) !important; }
.sidebar-overlay { background: rgba(15, 23, 42, 0.30) !important; }

/* 错误页 */
.error-container .error-text { color: var(--t2) !important; }
.error-container .error-icon .hi { color: var(--t1) !important; opacity: 0.85; }

/* ========== 成员版图 contact 行 ========== */
.member-org-modal .member-card-row2,
.member-org-modal .member-card-row3 { color: var(--t2) !important; }
.member-org-modal .member-name { color: var(--t1) !important; }
.member-org-modal .member-position { color: var(--t3) !important; }

/* ========== 汇总看盘细节 ========== */
body .content-area .sd-detail-label { color: var(--t3) !important; }
body .content-area .sd-count-label { color: var(--t3) !important; }
body .content-area .sd-card-subtitle { color: var(--t3) !important; }
body .content-area .sd-pie-legend-item { color: var(--t2) !important; }
body .content-area .sd-weekly-cal-day { border-color: var(--line) !important; }
body .content-area .am-detail-label { color: var(--t3) !important; }
body .content-area .am-stat-label { color: var(--t3) !important; }
body .content-area .am-project-city { color: var(--t3) !important; }
body .content-area .po-log-date { color: var(--t3) !important; }
body .content-area .po-log-user { color: var(--t2) !important; }
body .content-area .po-draft-tip { color: var(--warn) !important; }
body .content-area .card-meta, body .content-area .card-time { color: var(--t3) !important; }
body .content-area .card-title { color: var(--t1) !important; }

/* ========== 补网：公告/新闻/捷报列表卡（截图首轮发现的漏网白卡） ========== */
body .content-area .announcement-card {
    background: var(--panel) !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--r-md) !important;
    box-shadow: var(--shadow-sm) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}
body .content-area .announcement-card:hover {
    background: rgba(255, 255, 255, 0.92) !important;
    border-color: var(--line-2) !important;
    box-shadow: var(--shadow-sm) !important;
}
body .content-area .announcement-item.pinned .announcement-card {
    border-color: var(--line-2) !important;
}
body .content-area .card-pinned { color: var(--t2) !important; }
body .content-area .announcement-timeline { border-left-color: var(--line) !important; }
body .content-area .announcement-dot { background: rgba(15,23,42,0.35) !important; box-shadow: none !important; }

/* 模块搜索条与下拉 */
body .content-area .module-search-bar {
    background: var(--panel) !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--r-md) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}
body .content-area .module-search-input { background: transparent !important; color: var(--t1) !important; }
body .content-area .module-search-dropdown {
    background: var(--panel-solid) !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--r-md) !important;
    box-shadow: var(--shadow) !important;
}
body .content-area .module-search-result { color: var(--t2) !important; border-bottom-color: var(--line) !important; }
body .content-area .module-search-result:hover { background: var(--glass) !important; color: var(--t1) !important; }

/* 捷报投稿 */
body .content-area .jiebao-submit-btn {
    background: var(--accent) !important; color: #FFFFFF !important;
    border: none !important; border-radius: var(--r-sm) !important; font-weight: 600;
}
body .content-area .jiebao-submit-btn:hover { background: var(--accent-deep) !important; }
body .jiebao-form-modal {
    background: var(--panel-solid) !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--r-lg) !important;
    box-shadow: var(--shadow) !important;
}
body .jiebao-form-field label { color: var(--t2) !important; }
body .content-area .jiebao-image-add {
    background: var(--glass) !important; border: 1px dashed var(--line-2) !important;
    color: var(--t3) !important; border-radius: var(--r-md) !important;
}
body .content-area .jiebao-image-add:hover { border-color: var(--accent) !important; color: var(--accent) !important; }

/* 小力气泡提示 */
body .aibot-bubble-tip {
    background: var(--panel-solid) !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--r-md) !important;
    color: var(--t2) !important;
    box-shadow: var(--shadow-sm) !important;
}
body .aibot-bubble-tip b { color: var(--t1) !important; }
body .aibot-bubble-tip::after { border-top-color: var(--panel-solid) !important; }
body .aibot-bubble-tip.arrow-right::after { border-left-color: var(--panel-solid) !important; border-top-color: transparent !important; }

/* 个人信息页控件与按钮 */
body .profile-modal .profile-input, body .profile-modal .profile-textarea {
    background: var(--glass) !important; border: 1px solid var(--line) !important;
    color: var(--t1) !important; border-radius: var(--r-sm) !important;
}
body .profile-modal .profile-input:focus, body .profile-modal .profile-textarea:focus {
    border-color: var(--accent) !important; box-shadow: 0 0 0 3px rgba(77,148,212,0.15) !important;
}
body .profile-modal .profile-field label { color: var(--t3) !important; }
body .profile-modal .profile-display-name { color: var(--t1) !important; }
body .profile-modal .profile-username { color: var(--t3) !important; }
body .profile-modal .profile-save-btn, body .profile-modal .profile-edit-btn {
    background: var(--accent) !important; color: #FFFFFF !important; border: none !important;
    border-radius: var(--r-sm) !important; font-weight: 600;
}
body .profile-modal .profile-cancel-btn, body .profile-modal .profile-pwd-btn {
    background: var(--glass) !important; color: var(--t1) !important;
    border: 1px solid var(--line) !important; border-radius: var(--r-sm) !important;
}
body .profile-modal .profile-error { color: var(--err) !important; }

/* 深冷天下：黑字书法 logo（白纸底原样可读，无需反白） */
body .content-area .am-logo { filter: none; opacity: 0.95; }

/* ========== 文字三原色 · 英数灰（批次5，提级区：选择器与清洗规则同级，靠后置取胜） ==========
   text-tone.js 把纯英数文本节点包成 span.t-num → 三原色之灰 #525252 */
body span.t-num, body .content-area span.t-num, body [class*="-modal"] span.t-num,
body .profile-modal span.t-num, body .announcement-detail-modal span.t-num,
body .po-project-detail-modal span.t-num {
    color: var(--t3) !important;
}
/* 纯数字值（KPI/统计）-> 灰 */
body .content-area span.sd-count-number, body .content-area .sd-count-number,
body .content-area span.sd-detail-value, body .content-area .sd-detail-value,
body .content-area span.am-detail-value, body .content-area .am-detail-value,
body .content-area span.am-stat-value, body .content-area .am-stat-value {
    color: var(--t3) !important;
}
/* 有色容器内的英数保持容器字色（按钮/标签/徽章/提示条，后置压过上条） */
body button span.t-num, body [class*="-btn"] span.t-num, body [class*="-tag"] span.t-num,
body [class*="tag-"] span.t-num, body [class*="badge"] span.t-num, body .toast span.t-num,
body .aibot-send span.t-num, body .aibot-msg-bubble span.t-num, body .msg-badge span.t-num, body .login-btn span.t-num {
    color: inherit !important;
}

/* ========== 图标全站深蓝（批次6，猴哥：所有图标深蓝色） ==========
   Hugeicons 图标 stroke=currentColor，统一染 logo 蓝；
   有色底容器（按钮/徽章/toast）内保持容器字色 */
body .hi { color: var(--t1); }
body button .hi, body [class*="-btn"] .hi, body [class*="badge"] .hi,
body .toast .hi, body .aibot-send .hi { color: inherit; }
/* 成员卡 contact mask 图标（background-color:currentColor 上色） */
.member-org-modal .hi-mask-call, .member-org-modal .hi-mask-mail { color: var(--t1); }
/* 页脚版本号 -> 深蓝（猴哥指定，覆盖英数灰规则） */
body .login-footer strong, body .login-footer strong .t-num { color: var(--t1) !important; }
/* 走进中泰深冷链接行 */
.intro-link-row { margin-top: 18px; text-align: left; }
.intro-link, .intro-link:visited {
    color: var(--t1);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.intro-link:hover { color: var(--accent); }
body .intro-link-row .intro-link-en,
body .intro-link-row .intro-link-en .t-num,
body .intro-link-row:hover .intro-link-en,
body .intro-link-row:hover .intro-link-en .t-num { color: #8A8A8A !important; font-weight: 400; }

/* ========== BorderBeam 边缘流动光线（批次6 修正版 · appica.dev/ui BorderBeam 原版形态） ==========
   原版机制：满铺 ring + padding:1px + mask composite 出发丝环；
   彗星渐变 conic-gradient(from 角度变量, transparent, 头色 10%, transparent 12%)——亮头短尾；
   旋转靠 @property 注册的角度变量 0→360deg 动画（元素本身不转）。
   猴哥参数：线宽 1px、8s 同速、深蓝 #1F4E79、负延迟错相位（异步）。 */
.intro-quad, .login-card { position: relative; }

@property --border-beam-angle {
    syntax: '<angle>';
    initial-value: 0deg;
    inherits: false;
}
.card__beam-ring {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 1px;
    pointer-events: none;
    z-index: 2;
    background: conic-gradient(
        from var(--border-beam-angle),
        transparent,
        #1F4E79 10%,
        transparent calc(10% * 1.2)
    );
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude;
    animation: border-beam-rotate 8s linear infinite;
    animation-delay: var(--beam-delay, 0s);
}
@keyframes border-beam-rotate {
    to { --border-beam-angle: 360deg; }
}

/* ========== 批次7 · 桌面端水平选项卡导航（appica navigation · icons & badges 形式） ==========
   内容宽度与登录页一致：1175px ≈ 81.6% @1440；移动端保留原垂直侧栏不变 */

/* —— 桌面：隐藏侧栏 / 移动：隐藏顶栏 —— */
@media (min-width: 769px) {
    body .sidebar { display: none !important; }
    body .main-content { margin-left: 0 !important; }
}
@media (max-width: 768px) {
    .topbar { display: none !important; }
}

/* —— 顶栏容器：sticky 吸顶 + 全透明（批次8：背景晶线直接透出，无底色无描边） —— */
.topbar {
    position: sticky;
    top: 0;
    z-index: 60;
    background: transparent;
    border-bottom: none;
}
.topbar-inner {
    max-width: 1175px;
    margin: 0 auto;
    padding: 10px 24px 0;
}

/* —— 品牌行：logo 左 / slogan 右（紧凑） —— */
.topbar-brand {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 2px 0 10px;
}
.topbar-logo { height: 36px; width: auto; background: none; display: block; }

/* —— 水平选项卡：7 项均布（批次8） —— */
.topnav {
    display: flex;
    align-items: stretch;
    background: transparent;
    border: none;
    padding: 4px 0 8px;
    gap: 2px;
}
.top-tab {
    flex: 1 1 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 9px 4px;
    color: var(--t1) !important;
    font-size: 13.5px;
    font-weight: 600;
    white-space: nowrap;
    border: none !important;
    outline: none !important;
    border-radius: 8px;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.18s ease;
}
.top-tab:hover { background: var(--glass) !important; }
.top-tab.active { font-weight: 700; background: transparent !important; } /* 批次9：旧 pill 底作废，Controlled selection 下划线式接管（见文件尾） */
.top-tab .nav-icon { display: inline-flex; }
.top-tab .nav-icon .hi { width: 16px; height: 16px; }
.top-tab .msg-badge {
    position: static;
    margin-left: 2px;
    min-width: 17px;
    height: 17px;
    font-size: 10px;
}

/* —— 顶栏人员 chip（批次8：slogan 右侧头像+姓名，下拉含指南手册） —— */
.topbar-user { display: flex; align-items: center; gap: 14px; }
.user-chip {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 5px 12px 5px 6px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: transparent;
    text-decoration: none;
    cursor: pointer;
}
.user-chip .user-avatar-desk { width: 26px; height: 26px; margin-right: 0; }
.user-chip .user-avatar-desk img { width: 26px; height: 26px; }
.user-chip .user-name { white-space: nowrap; }
.user-chip .msg-badge {
    position: static;
    margin-left: 0;
    min-width: 17px;
    height: 17px;
    font-size: 10px;
}
.user-dropdown-desk {
    top: calc(100% + 8px);
    bottom: auto !important;   /* 批次9：清掉基类 bottom（向上弹出），否则 top+bottom 双约束拉变形 */
    left: auto;
    right: 0;   /* chip 正下方右对齐（chip 自身是定位祖先） */
    min-width: 172px;
    transform: translateY(-8px);
}
.user-dropdown-desk.show { transform: translateY(0); }

/* —— 内容宽度与登录页一致（1175px ≈ 81.6% @1440） —— */
@media (min-width: 769px) {
    body .main-content .content-area {
        width: 100%;
        max-width: 1223px;   /* 1175 内容 + 两侧各 24 padding */
        margin: 0 auto;
    }
}

/* ========== 批次9 · 选项卡 Controlled selection（appica 下划线式） ==========
   去 pill 底：active 只留 700 加粗 + 底部 2px 深蓝下划线（单色，非彩虹）；
   hover 淡灰；压制旧侧栏 .nav-item.active 的左蓝条；图标保留；
   末项防截断：文字溢出省略 */
body .top-tab.nav-item {
    position: relative;
    border-radius: 0 !important;
    background: transparent !important;
}
body .top-tab.nav-item.active {
    background: transparent !important;
    box-shadow: none !important;
    font-weight: 700;
}
body .top-tab.nav-item.active::after {
    display: block !important;
    content: '' !important;
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 3px;
    height: 2px;
    border-radius: 2px;
    background: var(--accent) !important;
}
body .top-tab.nav-item:hover { background: var(--glass) !important; }
body .top-tab.nav-item.active:hover { background: transparent !important; }
.top-tab { min-width: 0; flex-shrink: 1; }
.top-tab-user .nav-text {
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 64px;
}

/* ========== 批次10 · Header 玻璃化 + 全站搜 + 页脚 + 一页自适应 ==========
   1) logo 行与选项卡行：白色玻璃面（纸面+发丝线+模糊），宽度不变（1175）
   2) slogan 退役，原位改「全站搜」（appica autocomplete，分组层级提示）
   3) 新增页脚：新 slogan 右对齐，三原色深蓝加粗
   4) 桌面端整页 flex 锁高：顶栏+内容+页脚 = 100vh，模块一页自适应 */

/* —— 1. Header 两行玻璃化 —— */
.topbar-inner { padding: 10px 24px 10px; }
.topbar-brand {
    padding: 8px 16px;
    background: var(--panel);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    border: 1px solid var(--line);
    border-radius: 14px;
    box-shadow: var(--shadow-sm);
}
.topnav {
    margin-top: 8px;
    padding: 4px 6px;
    background: var(--panel);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    border: 1px solid var(--line);
    border-radius: 14px;
    box-shadow: var(--shadow-sm);
}

/* —— 2. 全站搜（Cloudflare 式分组层级提示） —— */
.gs-box {
    position: relative;
    width: 300px;
    flex-shrink: 1;
    min-width: 160px;
}
.gs-icon {
    position: absolute;
    left: 11px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--t3);
    pointer-events: none;
}
#gsInput {
    width: 100%;
    padding: 8px 12px 8px 33px;
    font-size: 13px;
    font-family: inherit;
    color: var(--t2);
    background: var(--glass);
    border: 1px solid var(--line);
    border-radius: 9px;
    outline: none;
    transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
    box-sizing: border-box;
}
#gsInput::placeholder { color: var(--t4); }
#gsInput:focus {
    background: #fff;
    border-color: var(--accent-line);
    box-shadow: 0 0 0 3px var(--accent-soft);
}
.gs-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: 380px;
    max-width: 76vw;
    max-height: min(60vh, 520px);
    overflow-y: auto;
    background: var(--panel-solid);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    border: 1px solid var(--line);
    border-radius: 12px;
    box-shadow: var(--shadow);
    padding: 6px;
    display: none;
    z-index: 90;
}
.gs-dropdown.show { display: block; }
.gs-group + .gs-group { margin-top: 4px; border-top: 1px solid var(--line); padding-top: 4px; }
.gs-group-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 10px 4px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: var(--t1);
}
.gs-group-count { font-weight: 500; color: var(--t4); letter-spacing: 0; }
.gs-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 13px;
    color: var(--t2);
    line-height: 1.4;
}
.gs-item:hover, .gs-item.active { background: var(--glass-2); }
.gs-item-tag {
    flex-shrink: 0;
    font-size: 10px;
    color: var(--t3);
    border: 1px solid var(--line);
    border-radius: 5px;
    padding: 1px 5px;
}
.gs-item-title { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gs-item-title .highlight { color: var(--t1); font-weight: 700; background: none; }
.gs-item-time { flex-shrink: 0; font-size: 11px; color: var(--t4); }
.gs-empty, .gs-loading {
    padding: 18px 12px;
    text-align: center;
    font-size: 12.5px;
    color: var(--t3);
}

/* —— 3. 页脚：新 slogan 右对齐深蓝加粗 —— */
.app-footer {
    flex-shrink: 0;
    width: 100%;
    max-width: 1223px;
    margin: 0 auto;
    padding: 10px 24px 12px;
    display: flex;
    justify-content: flex-end;
    box-sizing: border-box;
}
.app-footer-slogan {
    color: var(--accent);
    font-size: 15.5px;
    font-weight: 700;
    letter-spacing: 0.06em;
    white-space: nowrap;
}
@media (max-width: 768px) {
    .app-footer { justify-content: center; padding: 8px 12px 10px; }
    .app-footer-slogan { font-size: 12px; white-space: normal; text-align: center; }
}

/* —— 4. 桌面端整页锁高：顶栏 + 内容 + 页脚 = 100vh，模块一页自适应 —— */
@media (min-width: 769px) {
    body #mainScreen:not([style*="display: none"]) {
        display: flex !important;
        flex-direction: column;
        height: 100vh;
        overflow: hidden;
    }
    body .topbar { flex-shrink: 0; }
    body .main-content {
        flex: 1;
        min-height: 0;
        height: auto !important;
    }
    body .main-content .content-area {
        flex: 1;
        min-height: 0;
        padding-top: 12px;
        padding-bottom: 0;
    }
    /* 一页自适应模块根容器占满内容区高度 */
    body .content-area > .am-container,
    body .content-area > .member-org-container,
    body .content-area > .weekly-report-container {
        height: 100% !important;
        min-height: 0;
    }
}

/* ========== 批次11（2026-09-15）宽度统一 + Header 单卡直角 + 新闻三列 + 合成气展图册 + cobe 地球 ==========
   宽度基准：汇总看盘内容卡 = 内容区 1175px（content-area 1223 - 两侧 padding 24）。
   统一：顶栏单卡 1175 外宽、登录页内容总宽 1175 自适应、页脚右缘对齐 1175。 */

/* —— 1+3. Header：品牌行与选项卡合并为一块直角玻璃单卡（铺满 1175，无圆角） —— */
.topbar-inner {
    max-width: 1175px;
    padding: 10px 16px 6px;
    background: var(--panel);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    border: 1px solid var(--line);
    border-radius: 0 !important;
    box-shadow: var(--shadow-sm);
}
.topbar-brand {
    padding: 2px 2px 8px;
    background: none;
    border: none;
    border-radius: 0;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    position: relative;
    z-index: 30;   /* 全站搜下拉压过选项卡行 */
}
.topnav {
    margin-top: 0;
    padding: 6px 2px 2px;
    background: none;
    border: none;
    border-top: 1px solid var(--line);
    border-radius: 0;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    position: relative;
    z-index: 20;
}
.gs-dropdown { z-index: 200; }

/* —— 2. 页脚 slogan 回到标题蓝（三原色之标题色，与 logo 同色 #1A74A6） —— */
.app-footer-slogan { color: var(--t1); }

/* —— 1. 登录页总宽对齐 1175（自适应：左列弹性伸展，右卡 380 不变） —— */
@media (min-width: 769px) {
    .login-intro { width: auto; flex: 1 1 0; min-width: 480px; max-width: 735px; }
}

/* ========== 6. 新闻公告：三列 collapsible 卡片（appica collapsible Default 风） ==========
   三标签均布三列（minmax(0,1fr) 不超上级宽度）；列默认展开；
   每条新闻自身是 collapsible：行=日期+标题，点开下拉小面板看摘要+全文入口 */
.nf-board {
    flex: 1;
    min-height: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.nf-col {
    display: flex;
    flex-direction: column;
    min-height: 0;
    min-width: 0;
    background: var(--panel);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    border: 1px solid var(--line);
    border-radius: 12px;
    overflow: hidden;
}
.nf-col-head {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    border-bottom: 1px solid var(--line);
}
.nf-col-title { font-size: 14px; font-weight: 700; color: var(--t1); }
.nf-col-count {
    font-size: 11px; color: var(--t3);
    border: 1px solid var(--line); border-radius: 999px; padding: 1px 8px;
}
.nf-col-body { flex: 1; min-height: 0; overflow-y: auto; padding: 6px; }
.nf-col-body::-webkit-scrollbar { width: 4px; }
.nf-item { border-radius: 9px; }
.nf-item + .nf-item { margin-top: 2px; }
.nf-item-head {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 9px;
    background: none;
    border: none;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
    border-radius: 9px;
    transition: background 0.15s ease;
}
.nf-item-head:hover { background: var(--glass); }
.nf-item.open > .nf-item-head { background: var(--glass-2); }
.nf-item-date { flex-shrink: 0; font-size: 11px; color: var(--t3); font-variant-numeric: tabular-nums; }
.nf-item-title {
    flex: 1; min-width: 0;
    font-size: 12.5px; color: var(--t2); line-height: 1.45;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.nf-item.open .nf-item-title { -webkit-line-clamp: unset; color: var(--t1); font-weight: 600; }
.nf-chevron {
    flex-shrink: 0; width: 12px; height: 12px; color: var(--t3);
    transition: transform 0.2s ease;
}
.nf-item.open .nf-chevron { transform: rotate(180deg); color: var(--t1); }
.nf-item-panel {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.25s ease;
}
.nf-item.open > .nf-item-panel { grid-template-rows: 1fr; }
.nf-item-panel-inner { overflow: hidden; }
.nf-item-content {
    margin: 2px 9px 10px;
    padding: 10px 12px;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.6);
    font-size: 12px; color: var(--t2); line-height: 1.65;
}
.nf-item-content .nf-excerpt {
    display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;
}
.nf-item-more {
    display: inline-block;
    margin-top: 8px;
    font-size: 12px; color: var(--t1); cursor: pointer;
    border-bottom: 1px solid var(--accent-line);
    padding-bottom: 1px;
}
.nf-col-empty { padding: 18px 12px; text-align: center; font-size: 12px; color: var(--t3); }
@media (max-width: 900px) {
    .nf-board { grid-template-columns: 1fr; overflow-y: auto; }
    .nf-col { min-height: 120px; }
}

/* ========== 7. 合成气展：卡片式翻转图册（carousel-07 堆叠扇形，vanilla 化） ========== */
.sg-carousel {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
    user-select: none;
}
.sg-stage {
    position: relative;
    width: 100%;
    flex: 1;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.sg-drag-surface {
    position: absolute;
    inset: 0;
    z-index: 400;
    cursor: grab;
    touch-action: pan-y;
}
.sg-drag-surface.dragging { cursor: grabbing; }
.sg-card {
    position: absolute;
    width: 240px;
    height: 340px;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid var(--line);
    background: var(--panel-solid);
    box-shadow: var(--shadow);
    pointer-events: none;
    will-change: transform, opacity;
}
.sg-card-cover {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
}
.sg-card-face {
    position: absolute; inset: 0;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 10px;
    background: linear-gradient(160deg, rgba(31,78,121,0.10), rgba(31,78,121,0.03) 55%, rgba(255,255,255,0.5));
}
.sg-card-face .sg-face-icon { width: 40px; height: 40px; color: var(--accent); opacity: 0.8; }
.sg-card-shade { position: absolute; inset: 0; background: #0F172A; pointer-events: none; }
.sg-card-badge {
    position: absolute; top: 14px; right: 14px;
    padding: 3px 10px; border-radius: 999px;
    background: rgba(255,255,255,0.92);
    font-size: 10.5px; font-weight: 700; color: var(--accent);
    border: 1px solid var(--line);
}
.sg-card-info {
    position: absolute; left: 16px; right: 16px; bottom: 16px;
    color: #fff; z-index: 2;
}
.sg-card-info.on-face { color: var(--t2); }
.sg-card-title { font-size: 15px; font-weight: 700; line-height: 1.4; margin-bottom: 4px; }
.sg-card-desc { font-size: 11.5px; opacity: 0.75; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sg-card-gradient {
    position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(to top, rgba(15,23,42,0.72), rgba(15,23,42,0.08) 45%, transparent);
}
.sg-nav {
    flex-shrink: 0;
    display: flex; align-items: center; gap: 14px;
    padding: 10px 0 4px;
}
.sg-arrow {
    width: 34px; height: 34px; border-radius: 50%;
    border: 1px solid var(--line); background: var(--panel);
    color: var(--t1); font-size: 15px; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: background 0.15s ease;
}
.sg-arrow:hover { background: var(--glass-2); }
.sg-dots { display: flex; gap: 6px; }
.sg-dot {
    width: 6px; height: 6px; border-radius: 50%;
    background: var(--line-2); cursor: pointer; transition: all 0.2s ease;
}
.sg-dot.active { background: var(--accent); width: 16px; border-radius: 4px; }
.sg-empty { padding: 40px; text-align: center; color: var(--t3); font-size: 13px; }

/* ========== 5. 深冷天下：cobe 地球（左下，不遮中国地图） ========== */
.am-globe-wrap {
    position: absolute;
    left: 18px;
    bottom: 14px;
    width: 210px;
    z-index: 5;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}
.am-globe-box { position: relative; width: 100%; aspect-ratio: 1; }
.am-globe-box canvas {
    width: 100%; height: 100%;
    cursor: grab;
    opacity: 0;
    transition: opacity 1.2s ease;
    border-radius: 50%;
    touch-action: none;
}
.am-globe-label {
    position: absolute;
    bottom: anchor(top);
    left: anchor(center);
    translate: -50% 0;
    margin-bottom: 7px;
    padding: 2px 7px;
    background: var(--panel-solid);
    color: var(--t1);
    border: 1px solid var(--line);
    border-radius: 6px;
    font-size: 10px;
    font-weight: 600;
    white-space: nowrap;
    pointer-events: none;
    transition: opacity 0.6s ease;
    box-shadow: var(--shadow-sm);
}
.am-globe-hint {
    font-size: 11px;
    color: var(--t3);
    letter-spacing: 0.05em;
}
@media (max-width: 768px) {
    .am-globe-wrap { width: 120px; left: 8px; bottom: 8px; }
}

/* ========== 批次12（2026-09-15）全站调白 + 逐模块精修 ==========
   背景：纯白纸底 #FFFFFF（cosmic.css/aether-bg.js 已同步），线条动效保持三原色。 */

/* —— 2. 新闻公告：列卡片纯白 + 日期下加 HH:MM:SS —— */
.nf-col { background: var(--panel-solid); }
.nf-item-when {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.25;
    min-width: 58px;
}
.nf-item-date { font-size: 11px; color: var(--t3); font-variant-numeric: tabular-nums; }
.nf-item-clock { font-size: 10px; color: var(--t4); font-variant-numeric: tabular-nums; }
.nf-item-content { background: #fff; }

/* —— 3. 合成气展：封面图不罩渐变，底部深色毛玻璃字条 + 白字 —— */
.sg-card-info {
    left: 12px; right: 12px; bottom: 12px;
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(15, 23, 42, 0.55);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #fff;
}
.sg-card-info .sg-card-title { color: #fff !important; }
.sg-card-info .sg-card-desc { color: rgba(255, 255, 255, 0.78) !important; }
.sg-card-info.on-face {
    background: rgba(255, 255, 255, 0.75);
    border: 1px solid var(--line);
    color: var(--t2);
}
.sg-card-info.on-face .sg-card-title { color: var(--t2) !important; }
.sg-card-info.on-face .sg-card-desc { color: var(--t3) !important; }

/* —— 4. 深冷天下：地球右上挪 + 弹窗统一清晰化 —— */
.am-globe-wrap { left: 42px; bottom: 36px; }
body .am-popup { background: var(--panel-solid); border: 1px solid var(--line); }
body .am-popup-overlay { background: rgba(15, 23, 42, 0.30); }
body .am-popup-body { background: #fff; }
body .am-project-card {
    background: #fff;
    border: 1px solid var(--line);
    border-left: 3px solid var(--accent);
}
body .am-product-tag {
    display: inline-block;
    background: var(--accent-soft);
    color: var(--accent) !important;
    border: 1px solid var(--accent-line);
    border-radius: 6px;
    padding: 1px 8px;
    font-weight: 600;
}
body .am-status-tag {
    display: inline-block;
    border-radius: 6px;
    padding: 1px 8px;
    font-weight: 600;
    background: var(--glass-2);
    color: var(--t2);
    border: 1px solid var(--line);
}
body .am-status-tag.am-status-running { background: rgba(5,150,105,0.12); color: #059669 !important; border-color: rgba(5,150,105,0.35); }
body .am-status-tag.am-status-manufacturing { background: rgba(31,78,121,0.10); color: var(--accent) !important; border-color: var(--accent-line); }
body .am-status-tag.am-status-installation { background: rgba(217,119,6,0.10); color: #B45309 !important; border-color: rgba(217,119,6,0.35); }
body .am-status-tag.am-status-design { background: var(--glass-2); color: var(--t3); }

/* —— 5. 汇总看盘：odometer 倒计时 + 大容器去底 + 内容自适应 + 白卡 —— */
.sd-cd { display: inline-flex; align-items: baseline; gap: 3px; margin-left: 8px; }
.sd-cd-seg { display: inline-flex; }
.sd-cd-digit {
    display: inline-block;
    height: 1em;
    overflow: hidden;
    line-height: 1em;
    font-size: 30px;
    font-weight: 700;
    color: #FFD700;
    font-variant-numeric: tabular-nums;
}
.sd-cd-strip {
    display: flex;
    flex-direction: column;
    transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.sd-cd-strip span { height: 1em; display: block; }
.sd-cd-unit { font-size: 13px; color: rgba(255,255,255,0.85); margin: 0 8px 0 2px; }
.sd-cd-unit:last-child { margin-right: 0; }
@media (prefers-reduced-motion: reduce) { .sd-cd-strip { transition: none; } }

body .sd-content-scroll { background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; }
body .sd-overview-card, body .sd-summary-card, body .sd-detail-card,
body .sd-level-table-card, body .sd-person-card, body .sd-rank-card {
    background: #fff;
}
body .sd-overview-cards { flex-wrap: wrap; }
body .sd-overview-cards > * { min-width: 300px; }
body .sd-summary-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body .sd-content-scroll table { width: 100%; }

/* —— 6. 项目全览：阶段胶囊分色 + 白字（蓝色递进 + 生效绿 + 失舍灰） —— */
body .project-overview-container .po-stage-badge { color: #fff !important; }
body .project-overview-container .po-stage-badge.线索识别 { background: #8494A7; }
body .project-overview-container .po-stage-badge.预热跟进 { background: #4D94D4; }
body .project-overview-container .po-stage-badge.方案部署 { background: #2A6296; }
body .project-overview-container .po-stage-badge.定标谈判 { background: #1F4E79; }
body .project-overview-container .po-stage-badge.合同生效 { background: #059669; }
body .project-overview-container .po-stage-badge.合同失舍 { background: #9AA5B1; color: #fff !important; }

/* —— 8. 成员版图：白底容器 + 大三角居左 + 右侧 orbital —— */
body .member-org-container {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
    box-shadow: var(--shadow-sm);
    padding: 16px 24px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    overflow: hidden;
}
body .member-org-container .mo-left { flex: 0 1 52%; display: flex; justify-content: flex-start; min-width: 0; }
body .member-org-container .triangle-container { width: 100%; max-width: 470px; }
body .member-org-container .mo-right { flex: 1 1 48%; min-width: 0; height: 100%; display: flex; }
body .member-org-container .mo-orbital { position: relative; flex: 1; min-height: 320px; overflow: hidden; border-radius: 10px; background: transparent !important; }
body .member-org-container .mo-orbital canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
body .member-org-container .tri-btn use { pointer-events: none; }
@media (max-width: 900px) {
    body .member-org-container { flex-direction: column; padding: 16px 12px; }
    body .member-org-container .mo-left { flex: none; width: 100%; justify-content: center; }
    body .member-org-container .mo-right { display: none; }
}

/* —— 9. 日新月异：日历选中反色（appica multiple dates 风）+ 弹窗调白 + 上次更新一行 —— */
body .weekly-report-container .cal-day { border-radius: 8px; }
body .weekly-report-container .cal-day.has-record,
body .weekly-report-container .cal-day.has-plan {
    background: var(--accent) !important;
    color: #fff !important;
    font-weight: 600;
}
body .weekly-report-container .cal-day.has-record:hover,
body .weekly-report-container .cal-day.has-plan:hover { background: var(--accent-strong) !important; }
body .weekly-report-container .cal-day.today {
    font-weight: 700;
    color: var(--accent) !important;
    box-shadow: inset 0 0 0 1.5px var(--accent);
}
body .weekly-report-container .cal-day.today.has-record,
body .weekly-report-container .cal-day.today.has-plan { color: #fff !important; }
body .weekly-report-modal { background: rgba(15, 23, 42, 0.28); }
body .weekly-report-modal .modal-box {
    background: var(--panel-solid);
    border: 1px solid var(--line);
}
body .weekly-report-container .card-time {
    white-space: nowrap;
    font-size: 11px;
    letter-spacing: 0;
}

/* ========== 批次13（2026-09-15）美学统一返修 ==========
   标题统一 logo 蓝 #1A74A6；卡片白；日历 appica 洁净风；地球落东海 */

/* —— 1. 页脚：左 HSE 图 + 右 slogan —— */
.app-footer { justify-content: space-between; align-items: center; }
.app-footer-brand { height: 15px; width: auto; display: block; }
@media (max-width: 768px) {
    .app-footer { flex-direction: column; gap: 6px; }
    .app-footer-brand { height: 12px; }
}

/* —— 2. 新闻公告：条目头纯白（压全局按钮幽灵底）+ 列头图标 —— */
body .content-area .nf-item-head { background: #fff !important; border: none !important; }
body .content-area .nf-item-head:hover { background: var(--glass) !important; }
body .content-area .nf-item.open > .nf-item-head { background: var(--glass-2) !important; }
body .content-area .nf-col-title { display: inline-flex; align-items: center; gap: 7px; color: var(--t1) !important; font-size: 14px; font-weight: 700; }
.nf-col-icon { width: 15px; height: 15px; color: var(--t1); fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }

/* —— 3. 深冷天下：地球落东海（中国版图右下海域，不遮陆地、不碰统计卡） —— */
.am-globe-wrap { left: auto; right: 13%; top: 36%; bottom: auto; }
@media (max-width: 768px) {
    .am-globe-wrap { right: 4%; top: 30%; left: auto; bottom: auto; }
}

/* —— 4. 标题统一 logo 蓝（选项卡、列标题、卡片标题、表头、弹窗标题） —— */
body .nf-item-title { color: var(--t1) !important; }
body .sg-card-info.on-face .sg-card-title { color: var(--t1) !important; }
body .project-overview-container .po-project-table th { color: var(--t1) !important; }
body .sd-section-title, body .sd-card-subtitle, body .sd-summary-card-title { color: var(--t1) !important; }
body .am-stats-panel h3, body #am-stats-title { color: var(--t1) !important; }
body .member-org-modal .modal-title, body .weekly-report-modal .modal-title { color: var(--t1) !important; }
body .am-popup-header h2 { color: #fff !important; }

/* —— 5. 所有内容区表头白色不透明（滚动不重影） —— */
body .content-area thead { background: #fff !important; }
body .content-area th {
    background: #fff !important;
    border-bottom: 1px solid var(--line-2) !important;
    box-shadow: 0 1px 0 var(--line);
    position: sticky;
    top: 0;
    z-index: 2;
}

/* —— 6. 成员版图：三角与动效紧挨居中 —— */
body .member-org-container { justify-content: center; gap: 8px; }
body .member-org-container .mo-left { flex: 0 0 auto; }
body .member-org-container .triangle-container { max-width: 440px; }
body .member-org-container .mo-right { flex: 0 0 42%; max-width: 460px; }

/* —— 7. 日新月异：appica 洁净日历（无框日期 + 下拉月年导航） —— */
body .weekly-report-container .cal-day {
    border: none !important;
    background: transparent !important;
    border-radius: 8px;
}
body .weekly-report-container .cal-day:hover:not(.empty):not(.disabled) { background: var(--glass) !important; }
body .weekly-report-container .cal-day.has-record,
body .weekly-report-container .cal-day.has-plan {
    background: var(--accent) !important;
    color: #fff !important;
    border-radius: 50% !important;
}
body .weekly-report-container .cal-day.today {
    color: var(--accent) !important;
    box-shadow: none !important;
    font-weight: 700;
    position: relative;
}
body .weekly-report-container .cal-day.today::after {
    content: '';
    position: absolute;
    left: 50%; bottom: 2px;
    transform: translateX(-50%);
    width: 16px; height: 2px; border-radius: 1px;
    background: var(--accent);
}
body .weekly-report-container .cal-day.today.has-record::after,
body .weekly-report-container .cal-day.today.has-plan::after { background: #fff; }
body .weekly-report-container .cal-nav-btn {
    border: none !important;
    background: transparent !important;
    color: var(--t3) !important;
    width: 24px; height: 24px;
    border-radius: 6px !important;
}
body .weekly-report-container .cal-nav-btn:hover { background: var(--glass) !important; color: var(--t1) !important; }
body .weekly-report-container .cal-nav-btn svg { width: 14px; height: 14px; }
.cal-nav-selects { display: flex; align-items: center; gap: 4px; }
.cal-nav-select {
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    color: var(--t1);
    padding: 2px 4px;
    border-radius: 6px;
    cursor: pointer;
    outline: none;
    appearance: auto;
}
.cal-nav-select:hover { background: var(--glass); }

/* ========== 批次14（2026-09-15）看盘字色收敛 + 成员三角放大 3:2 ========== */

/* —— 汇总看盘：全部标题统一 logo 蓝（语义色绿/红/HML 徽章保留） —— */
body .content-area .summary-dashboard-container h1,
body .content-area .summary-dashboard-container h2,
body .content-area .summary-dashboard-container h3,
body .content-area .summary-dashboard-container h4,
body .content-area .summary-dashboard-container th,
body .content-area .sd-section-title, body .content-area .sd-card-subtitle,
body .content-area .sd-summary-card-title, body .content-area .sd-pie-chart-title,
body .content-area .sd-behavior-modal-title,
body .content-area .sd-weekly-report-title, body .content-area .sd-weekly-records-title,
body .content-area .sd-weekly-cal-nav { color: var(--t1) !important; }

/* —— 成员版图：三角 : 动效 = 3:2，三角放大 —— */
body .member-org-container .mo-left { flex: 0 0 57%; justify-content: center; }
body .member-org-container .triangle-container { width: 100%; max-width: none; }
body .member-org-container .mo-right { flex: 0 0 38%; max-width: none; }
body .member-org-container .mo-orbital { min-height: 430px; }

/* ========== 批次15（2026-09-15）精修 ========== */

/* —— 1. 合成气展卡片再放大（保留 carousel 动效，未来会加更多卡片） —— */
.sg-card { width: 380px; height: 536px; }
@media (max-width: 768px) { .sg-card { width: 260px; height: 368px; } }

/* —— 2. 地球再往东（脱离海岸线） —— */
.am-globe-wrap { right: 4%; }

/* —— 3a. 倒计时：中文蓝 / 数字灰（三原色） —— */
body .sd-cd-digit { color: var(--t3) !important; }
body .sd-cd-unit { color: var(--t1) !important; }

/* —— 3b. 总体状态进度条改绿色 —— */
body .sd-progress-fill { background: #059669 !important; }
body .sd-progress-fill.active { background: #059669 !important; }

/* —— 3c. 在跟项目大数字改黑色 —— */
body .content-area .sd-count-number,
body .content-area .sd-count-number .t-num { color: var(--t2) !important; }

/* —— 3e. 饼图区：图例字号收敛、比例协调 —— */
body .sd-pie-legend-item { font-size: 10px !important; gap: 3px; }
body .sd-pie-legend-label { max-width: 64px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body .sd-pie-chart-item svg { max-width: 118px; height: auto; }
body .sd-pie-chart-title { font-size: 13px !important; }

/* —— 3f. TOP5 表格：字号收敛 + 自适应不挤 —— */
body .sd-top5-table { table-layout: fixed; }
body .sd-top5-table th { font-size: 10px !important; padding: 6px 4px; }
body .sd-top5-table td { font-size: 11px !important; padding: 6px 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* —— 3g. Behavior Index 的 REPORT 列白字（压 span 继承清洗） —— */
body .content-area .sd-report-badge { color: #fff !important; }

/* —— 8. 页脚 slogan shimmer（appica text-animate Continuous shimmer 风） —— */
.app-footer-slogan {
    background: linear-gradient(90deg, var(--t1) 0%, var(--t1) 38%, #8FCCF2 50%, var(--t1) 62%, var(--t1) 100%);
    background-size: 220% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    animation: footer-shimmer 3.6s linear infinite;
}
@keyframes footer-shimmer {
    from { background-position: 220% 0; }
    to { background-position: -220% 0; }
}
@media (prefers-reduced-motion: reduce) { .app-footer-slogan { animation: none; } }

/* —— 5. 批次15b：个人资料 / 指南手册弹窗 / 网站管理 美化 —— */

/* 个人资料：留白、分组、柔边输入 */
body .profile-modal {
    border-radius: 18px !important;
    border: 1px solid var(--line) !important;
    background: var(--panel-solid) !important;
    box-shadow: var(--shadow) !important;
    overflow: hidden;
}
body .profile-modal .profile-header {
    background: #fff !important;
    border-bottom: 1px solid var(--line) !important;
    padding: 16px 22px !important;
}
body .profile-modal .profile-title { color: var(--t1) !important; font-size: 16px; font-weight: 700; }
body .profile-modal .profile-body { padding: 22px 24px 8px !important; gap: 28px !important; }
body .profile-modal .profile-field { margin-bottom: 14px !important; }
body .profile-modal .profile-field label { color: var(--t3) !important; font-size: 12px !important; margin-bottom: 5px; }
body .profile-modal .profile-input, body .profile-modal .profile-textarea {
    background: var(--glass) !important;
    border: 1px solid var(--line) !important;
    border-radius: 9px !important;
    color: var(--t2) !important;
    padding: 9px 12px !important;
}
body .profile-modal .profile-input:not(:disabled), body .profile-modal .profile-textarea:not(:disabled) {
    background: #fff !important;
    border-color: var(--accent-line) !important;
}
body .profile-modal .profile-avatar { border: 3px solid #fff; box-shadow: var(--shadow-sm); }
/* 头像上传「+」做白 */
body .profile-modal .avatar-upload-btn {
    background: #fff !important;
    color: var(--t1) !important;
    border: 1px solid var(--line) !important;
    box-shadow: var(--shadow-sm) !important;
}
body .profile-modal .profile-footer {
    border-top: 1px solid var(--line) !important;
    background: #fff !important;
    padding: 14px 22px !important;
}
body .profile-modal .profile-pwd-btn,
body .profile-modal .profile-edit-btn,
body .profile-modal .profile-save-btn { border-radius: 9px !important; }
body .profile-modal .profile-save-btn, body .profile-modal .profile-edit-btn {
    background: var(--accent) !important; color: #fff !important; border: none !important;
}

/* 指南手册弹窗：列表式独立弹窗 */
body .guides-modal { width: 680px !important; max-width: 92vw; }
body .guides-modal .detail-body.guides-modal-body { padding: 10px 14px !important; overflow-y: auto; }
body .guides-modal .nf-item-tag {
    flex-shrink: 0;
    font-size: 10.5px; color: var(--t3);
    border: 1px solid var(--line); border-radius: 5px; padding: 1px 6px;
    min-width: 52px; text-align: center;
}
body .guides-modal .nf-item-head { background: #fff !important; border: none !important; }
body .guides-modal .nf-item-head:hover { background: var(--glass) !important; }

/* 网站管理面板：统一白纸化 + 语义柔色（压模块旧色） */
body .ap-modal { border: 1px solid var(--line) !important; background: var(--panel-solid) !important; box-shadow: var(--shadow) !important; }
body .ap-modal-body { background: #fff !important; }
body .ap-btn-danger { background: #DC2626 !important; }
body .ap-btn-danger:hover { background: #B91C1C !important; }
body .ap-btn-warning { background: #D97706 !important; }
body .ap-btn-warning:hover { background: #B45309 !important; }
body .ap-btn-primary:hover { background: var(--accent-deep) !important; }
body .ap-btn-secondary { background: var(--glass) !important; color: var(--t1) !important; border: 1px solid var(--line) !important; }
body .ap-tab, body .ap-menu-item { color: var(--t2) !important; }
body .ap-tab.active, body .ap-menu-item.active { color: var(--t1) !important; }
body .ap-card, body .ap-stat-card, body .ap-table-card {
    background: #fff !important;
    border: 1px solid var(--line) !important;
    box-shadow: var(--shadow-sm) !important;
}
body .ap-table th { color: var(--t1) !important; background: #fff !important; }
body .ap-table td { color: var(--t2) !important; }

/* —— 批次15c 特异度反制补丁 —— */
/* 倒计时单位蓝（0,2,1 压 span 清洗 0,1,2） */
body .content-area .sd-cd-unit { color: var(--t1) !important; }
/* 在跟项目大数字黑（与批次5旧规则同级 0,2,2，靠后置取胜） */
body .content-area span.sd-count-number,
body .content-area .sd-count-number span.t-num { color: var(--t2) !important; }

/* 阶段胶囊重叠效果复原（从全局按钮清洗中豁免，恢复 git 原版参数） */
body .content-area .po-stage-btn {
    background: #e8e8e8 !important;
    border: 3px solid #fff !important;
    border-radius: 0 !important;
    color: var(--t3) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
}
body .content-area .po-stage-btn.active,
body .content-area .po-stage-btn.completed {
    background: var(--accent) !important;
    color: #fff !important;
    font-weight: 600 !important;
}
body .content-area .po-stage-btn.lost {
    background: #9AA5B1 !important;
    color: #fff !important;
}
body .content-area .po-stage-btn:hover { background: #dcdcdc !important; }
body .content-area .po-stage-btn.active:hover,
body .content-area .po-stage-btn.completed:hover { background: var(--accent-strong) !important; }

/* ========== 批次16（2026-09-15）返修 ========== */

/* —— 2. 看盘饼图卡：饼一行居中放大，图例小字两行排 —— */
body .sd-pie-chart-item { justify-content: flex-start !important; gap: 8px; padding-top: 4px; }
body .sd-pie-chart-item-inner { flex-direction: column !important; align-items: center; gap: 10px; }
body .sd-pie-chart-item svg { max-width: 150px; }
body .sd-pie-legend {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3px 12px;
    width: 100%;
    justify-items: start;
}
body .sd-pie-legend-item { font-size: 10px !important; }

/* —— 3. 阶段胶囊：恢复原版半圆遮盖（radius 分位 + z-index 阶梯 + 白边重叠） —— */
body .content-area .po-stage-btn { border-radius: 0 !important; }
body .content-area .po-stage-btn:first-child { border-radius: 10px 19px 19px 10px !important; }
body .content-area .po-stage-btn:nth-child(2),
body .content-area .po-stage-btn:nth-child(3),
body .content-area .po-stage-btn:nth-child(4) { border-radius: 0 19px 19px 0 !important; }
body .content-area .po-stage-btn:last-child,
body .content-area .po-stage-btn.po-stage-btn-final { border-radius: 0 10px 10px 0 !important; }
body .content-area .po-stage-btn.lost { background: #ccc !important; color: #DC2626 !important; font-weight: 600 !important; }

/* —— 4. 成员版图：大三角回正中，orbital 改右上角小点缀 —— */
body .member-org-container { justify-content: center; position: relative; }
body .member-org-container .mo-left { flex: 0 0 auto; justify-content: center; }
body .member-org-container .triangle-container { max-width: 520px; }
body .member-org-container .mo-right {
    position: absolute;
    top: 10px; right: 14px;
    flex: none;
    width: 168px; height: 168px;
    z-index: 0;
    pointer-events: none;
}
body .member-org-container .triangle-container { position: relative; z-index: 1; }
body .member-org-container .mo-orbital { min-height: 0; width: 168px; height: 168px; border-radius: 12px; }

/* —— 5. 小猴：原图直出（无圆圈无底），bot 消息去灰框 —— */
.aibot-fab img {
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
}
.aibot-fab { background: transparent !important; box-shadow: none !important; }

/* —— 6. 网站管理：头部白条 + 侧栏菜单白底蓝字激活 —— */
body .ap-modal-header {
    background: #fff !important;
    border-bottom: 1px solid var(--line) !important;
}
body .ap-modal-header h2 { color: var(--t1) !important; }
body .ap-modal-close {
    background: var(--glass) !important;
    color: var(--t3) !important;
}
body .ap-modal-close:hover { background: var(--glass-2) !important; color: var(--t1) !important; }
body .ap-sidebar { background: #fff !important; border-right: 1px solid var(--line) !important; }
body .ap-sidebar-title { color: var(--t3) !important; }
body .ap-sidebar-item { color: var(--t2) !important; background: transparent !important; border-radius: 8px; }
body .ap-sidebar-item:hover { background: var(--glass) !important; color: var(--t1) !important; }
body .ap-sidebar-item.active {
    background: var(--accent-soft) !important;
    color: var(--t1) !important;
    font-weight: 600;
}

/* ========== 批次17（2026-09-15）构图返修 ========== */

/* —— 1. 看盘饼图卡：图标标题串行一行、饼图放大、图例小字垫底 —— */
body .sd-pie-chart-title {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    font-size: 13px !important;
    margin-bottom: 4px !important;
}
body .sd-pie-chart-title .hi, body .sd-pie-chart-title svg { width: 14px; height: 14px; display: inline-block; }
body .sd-pie-chart-item { justify-content: flex-start !important; gap: 4px; }
body .sd-pie-chart-item-inner { flex-direction: column !important; align-items: center; gap: 8px; flex: 1; justify-content: center; }
body .sd-pie-chart-item svg { width: min(200px, 90%); max-width: 200px; height: auto; flex-shrink: 0; }
body .sd-pie-legend {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2px 14px;
    width: 100%;
    justify-items: start;
    padding: 0 8px;
}
body .sd-pie-legend-item { font-size: 10px !important; }

/* —— 2. 成员版图：三角形自适应填满，orbital 贴它右上角 —— */
body .member-org-container { justify-content: center; align-items: stretch; }
body .member-org-container .mo-left {
    position: relative;
    flex: 0 1 auto;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
body .member-org-container .triangle-container {
    position: relative;
    z-index: 1;
    width: auto;
    height: 100%;
    max-width: none;
    max-height: 100%;
}
body .member-org-container .triangle-container svg { width: auto; height: 100%; max-height: 100%; }
body .member-org-container .mo-right {
    position: absolute;
    top: 0;
    right: -34px;
    width: 150px;
    height: 150px;
    flex: none;
    z-index: 0;
    pointer-events: none;
}
body .member-org-container .mo-orbital { width: 150px; height: 150px; min-height: 0; }
@media (max-width: 900px) {
    body .member-org-container .mo-left { height: auto; }
    body .member-org-container .triangle-container { width: 100%; height: auto; }
    body .member-org-container .triangle-container svg { width: 100%; height: auto; }
}

/* ========== 批次18（2026-09-15） ========== */

/* —— 1. orbital 放大到子三角量级（≈320px），仍贴大三角右上角 —— */
body .member-org-container .mo-right { width: 320px; height: 320px; top: -18px; right: -72px; }
body .member-org-container .mo-orbital { width: 320px; height: 320px; }

/* —— 2. 饼图自适应填满；注脚自适应缩小垫底；Level 三注脚一行 —— */
body .sd-pie-chart-item-inner { flex: 1; min-height: 0; }
body .sd-pie-chart-item svg {
    flex: 1;
    min-height: 0;
    width: auto;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    aspect-ratio: 1 / 1;
    margin: 0 auto;
}
body .sd-pie-legend { flex-shrink: 0; }
body .sd-level-table {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-wrap: nowrap;
}
body .sd-level-table-row { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
body .sd-level-table-amount { font-size: 11px !important; }

/* —— 3. 在跟项目计数大数字：黑 → logo 蓝 —— */
body .content-area span.sd-count-number,
body .content-area .sd-count-number span.t-num { color: var(--t1) !important; }

/* ========== 批次19（2026-09-15）Level 徽章精修 ========== */
/* H/M/L 徽章（看盘图例/TOP5/项目全览）：字色统一白、字号收敛 */
body .content-area .sd-level-badge-small,
body .content-area .po-level-badge,
body .content-area span.sd-level-badge-small,
body .content-area span.po-level-badge {
    color: #fff !important;
    font-size: 9.5px !important;
    font-weight: 700 !important;
    width: 18px !important;
    height: 18px !important;
    line-height: 18px !important;
    border-radius: 5px !important;
}
/* Level 注脚行：离两边留白，不挤 */
body .sd-level-table { padding: 0 18px; box-sizing: border-box; }
body .sd-level-table-row { flex: 0 1 auto; }

/* ========== 批次24 · 资讯六卡周边走动的彩色光晕动效（Appica 官方纯正实现） ========== */
.nf-col {
    position: relative;
    border-radius: 12px;
    background: #ffffff !important; /* 纯净白底 */
    border: 1px solid var(--line);
    overflow: hidden; /* 确保光晕严格沿着卡片圆角边缘走动 */
}

/* 走动的光晕：强制直接使用内联注册的 @keyframes */
.nf-col .card__beam-ring {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 2.5px !important; /* 提高到 2.5px，让走动光晕饱满有厚度 */
    pointer-events: none;
    z-index: 10; /* 置于顶层 */
    background: conic-gradient(
        from var(--border-beam-angle, 0deg),
        transparent 0%,
        var(--beam-color, #0088FF) 15%,
        transparent 25%
    ) !important;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude;
    animation: border-beam-rotate 8s linear infinite !important;
    animation-delay: var(--beam-delay, 0s) !important;
}
   1. 资讯公告六卡两行均布：board 占满内容区高，两行 1fr 均分自适应，列内 body
      flex 撑满+内滚（能多显示几条，矮屏也不挤）；摘要开合/原文链接逻辑不动，
      无模拟数据、无标签默认归行业动态。手机 ≤900px 回单列整板滚。
   2. 合成气展 .sg-carousel 建独立层叠上下文，内部拖拽层 z 再高也压不住侧栏/菜单键。
   3. 手机端侧栏 active 去左蓝条+去底色，只留字重，简约。 */
body .content-area .nf-board {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    align-content: stretch;
    overflow: hidden;
    min-height: 0;
}
body .content-area .nf-col { min-height: 0; }
body .content-area .nf-col-body {
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    overflow-y: auto;
}
.sg-carousel { isolation: isolate; z-index: 0; }
@media (max-width: 900px) {
    body .content-area .nf-board {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: none;
        overflow-y: auto;
    }
}
@media (max-width: 768px) {
    body .sidebar .nav-item.active,
    body .sidebar.open .nav-item.active {
        background: transparent !important;
        box-shadow: none !important;
        font-weight: 700 !important;
    }
}
