/**
 * SF UI 公共组件库
 * （字体色 / 按钮芯片 / 抬头 / 弹窗 / 验密 / 下拉 / 卡片面板 / 日期）
 *
 * 用法（任意页面）：
 *   <link rel="stylesheet" href="style/sf-ui.css?v=...">
 *   <body class="sf-ui">
 *   <div class="sf-page-header"> 或沿用 <div class="page-header">
 *
 * 抓取结果页可同时：
 *   <body class="results-sf sf-ui">
 *
 * 以后改字体色/抬头/弹窗（背景·效果·文字色）/验密/下拉/卡片，优先改本文件。
 * 侧栏导航单独在 style/sf-sidebar.css（由 sidebar.php 自动引入）。
 *
 * 弹窗约定：
 *   遮罩 .sf-modal-overlay / *-modal-overlay
 *   面板 .sf-modal / *-modal
 *   结构 .sf-modal-header|body|footer（或各页原有 *-header|body|footer）
 */

@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@500;700&family=Rajdhani:wght@400;500;600;700&display=swap');

:root {
    --sf-bg: #070b14;
    --sf-bg-2: #0c1424;
    --sf-panel: rgba(12, 24, 42, 0.88);
    --sf-panel-2: rgba(10, 28, 48, 0.72);
    --sf-border: rgba(0, 229, 255, 0.28);
    --sf-border-strong: rgba(0, 229, 255, 0.55);
    --sf-cyan: #00e5ff;
    --sf-teal: #14f1c4;
    --sf-amber: #ffb347;
    --sf-red: #ff4d6d;
    --sf-blue: #4db8ff;
    --sf-text: #9eb6d0;          /* 正文：青灰，禁止纯白 */
    --sf-text-strong: #b6d4ef;   /* 标题略亮仍非白 */
    --sf-muted: #7f9bb8;
    --sf-glow: 0 0 18px rgba(0, 229, 255, 0.22);
    --sf-font: 'Rajdhani', 'Segoe UI', 'Microsoft YaHei', sans-serif;
    --sf-font-display: 'Orbitron', 'Rajdhani', sans-serif;
    /* 弹窗公用 token（遮罩 / 面板 / 发光 / 圆角） */
    --sf-modal-overlay-bg: rgba(4, 10, 20, 0.72);
    --sf-modal-panel-bg: rgba(10, 22, 38, 0.98);
    --sf-modal-body-bg: rgba(8, 18, 32, 0.96);
    --sf-modal-header-bg: linear-gradient(135deg, rgba(8, 40, 64, 0.98), rgba(6, 28, 48, 0.96));
    --sf-modal-footer-bg: rgba(6, 14, 26, 0.98);
    --sf-modal-border: 1px solid rgba(0, 229, 255, 0.35);
    --sf-modal-glow: 0 0 40px rgba(0, 229, 255, 0.18), 0 16px 48px rgba(0, 0, 0, 0.45);
    --sf-modal-radius: 8px;
    --sf-modal-z: 10000;
    /* 兼容旧名 */
    --sf-modal-overlay: var(--sf-modal-overlay-bg);
    --sf-modal-bg: var(--sf-modal-panel-bg);
    --sf-modal-shadow: var(--sf-modal-glow);
}

body:is(.sf-ui, .results-sf) {
    --sf-bg: #070b14;
    --sf-bg-2: #0c1424;
    --sf-panel: rgba(12, 24, 42, 0.88);
    --sf-panel-2: rgba(10, 28, 48, 0.72);
    --sf-border: rgba(0, 229, 255, 0.28);
    --sf-border-strong: rgba(0, 229, 255, 0.55);
    --sf-cyan: #00e5ff;
    --sf-teal: #14f1c4;
    --sf-amber: #ffb347;
    --sf-red: #ff4d6d;
    --sf-blue: #4db8ff;
    --sf-text: #9eb6d0;
    --sf-text-strong: #b6d4ef;
    --sf-muted: #7f9bb8;
    --sf-glow: 0 0 18px rgba(0, 229, 255, 0.22);
    --sf-font: 'Rajdhani', 'Segoe UI', 'Microsoft YaHei', sans-serif;
    --sf-font-display: 'Orbitron', 'Rajdhani', sans-serif;
    --sf-modal-overlay-bg: rgba(4, 10, 20, 0.72);
    --sf-modal-panel-bg: rgba(10, 22, 38, 0.98);
    --sf-modal-body-bg: rgba(8, 18, 32, 0.96);
    --sf-modal-header-bg: linear-gradient(135deg, rgba(8, 40, 64, 0.98), rgba(6, 28, 48, 0.96));
    --sf-modal-footer-bg: rgba(6, 14, 26, 0.98);
    --sf-modal-border: 1px solid rgba(0, 229, 255, 0.35);
    --sf-modal-glow: 0 0 40px rgba(0, 229, 255, 0.18), 0 16px 48px rgba(0, 0, 0, 0.45);
    --sf-modal-radius: 8px;
    --sf-modal-z: 10000;
    font-family: var(--sf-font);
    color: var(--sf-text);
    line-height: 1.5;
}

/* 禁止页面网格底纹（body / main-content 上的 48px 网格一律关掉） */
body:is(.sf-ui, .results-sf, .sf-theme)::before,
body:is(.sf-ui, .results-sf, .sf-theme) .main-content::before {
    content: none !important;
    display: none !important;
    background-image: none !important;
}

/* —— 字体与文字色（各页共用；改这里即可全局生效） —— */
body:is(.sf-ui, .results-sf),
body:is(.sf-ui, .results-sf) .main-content,
body:is(.sf-ui, .results-sf) .card,
body:is(.sf-ui, .results-sf) .sf-section,
body:is(.sf-ui, .results-sf) .sf-btn,
body:is(.sf-ui, .results-sf) .batch-actions button,
body:is(.sf-ui, .results-sf) a,
body:is(.sf-ui, .results-sf) p,
body:is(.sf-ui, .results-sf) span,
body:is(.sf-ui, .results-sf) label,
body:is(.sf-ui, .results-sf) li,
body:is(.sf-ui, .results-sf) td,
body:is(.sf-ui, .results-sf) th {
    color: var(--sf-text);
}

/* 禁止纯白 / 近白字 */
body:is(.sf-ui, .results-sf) [style*="color:#fff"],
body:is(.sf-ui, .results-sf) [style*="color: #fff"],
body:is(.sf-ui, .results-sf) [style*="color:white"],
body:is(.sf-ui, .results-sf) [style*="color: white"],
body:is(.sf-ui, .results-sf) [style*="color:#ffffff"],
body:is(.sf-ui, .results-sf) [style*="color: #ffffff"] {
    color: var(--sf-text-strong) !important;
}

body:is(.sf-ui, .results-sf) h1,
body:is(.sf-ui, .results-sf) h2,
body:is(.sf-ui, .results-sf) h3,
body:is(.sf-ui, .results-sf) h4 {
    font-family: var(--sf-font-display);
    color: var(--sf-cyan);
    font-weight: 700;
    letter-spacing: 0.04em;
}
body:is(.sf-ui, .results-sf) h1 { font-size: 22px; text-shadow: 0 0 12px rgba(0, 229, 255, 0.35); }
body:is(.sf-ui, .results-sf) h2 { font-size: 18px; }
body:is(.sf-ui, .results-sf) h3 { font-size: 15px; }
body:is(.sf-ui, .results-sf) h4 { font-size: 14px; color: var(--sf-text-strong); }

body:is(.sf-ui, .results-sf) strong,
body:is(.sf-ui, .results-sf) b {
    color: var(--sf-text-strong);
    font-weight: 700;
}
body:is(.sf-ui, .results-sf) small,
body:is(.sf-ui, .results-sf) .text-muted,
body:is(.sf-ui, .results-sf) .meta,
body:is(.sf-ui, .results-sf) .hint {
    color: var(--sf-muted);
}
body:is(.sf-ui, .results-sf) a:not(.sf-btn):not(.btn):not(.analyze-btn):not(.modal-btn):not(.bk-id-link):not(.bk-name-link) {
    color: var(--sf-cyan);
    text-decoration: none;
}
body:is(.sf-ui, .results-sf) a:not(.sf-btn):not(.btn):not(.analyze-btn):not(.modal-btn):not(.bk-id-link):not(.bk-name-link):hover {
    color: #7dd3fc;
}

/* 文字工具类（任意页可直接用） */
.sf-text { color: var(--sf-text) !important; }
.sf-text-strong { color: var(--sf-text-strong) !important; }
.sf-muted { color: var(--sf-muted) !important; }
.sf-cyan { color: var(--sf-cyan) !important; }
.sf-teal { color: var(--sf-teal) !important; }
.sf-amber { color: var(--sf-amber) !important; }
.sf-red { color: var(--sf-red) !important; }
.sf-blue { color: var(--sf-blue) !important; }
.sf-title {
    font-family: var(--sf-font-display);
    color: var(--sf-cyan) !important;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-shadow: 0 0 10px rgba(0, 229, 255, 0.35);
}
.sf-label {
    font-family: var(--sf-font-display);
    font-size: 11px;
    letter-spacing: 0.08em;
    color: var(--sf-cyan) !important;
    font-weight: 700;
}
.sf-num {
    font-family: var(--sf-font-display);
    font-weight: 700;
    color: var(--sf-text-strong);
    letter-spacing: 0.02em;
}

/* —— 抬头（各页共用；改这里即可全局生效） —— */
body:is(.sf-ui, .results-sf) .sf-page-header,
body:is(.sf-ui, .results-sf) .page-header,
.sf-page-header {
    position: relative;
    background: linear-gradient(135deg, rgba(8, 28, 48, 0.95), rgba(6, 18, 36, 0.92));
    border: 1px solid var(--sf-border, rgba(0, 229, 255, 0.28));
    border-radius: 4px;
    padding: 20px 22px;
    margin-bottom: 18px;
    box-shadow: var(--sf-glow, 0 0 18px rgba(0, 229, 255, 0.22)), inset 0 0 40px rgba(0, 229, 255, 0.04);
    overflow: hidden;
    box-sizing: border-box;
}
body:is(.sf-ui, .results-sf) .sf-page-header::before,
body:is(.sf-ui, .results-sf) .sf-page-header::after,
body:is(.sf-ui, .results-sf) .page-header::before,
body:is(.sf-ui, .results-sf) .page-header::after,
.sf-page-header::before,
.sf-page-header::after {
    content: '';
    position: absolute;
    width: 18px;
    height: 18px;
    border: 2px solid var(--sf-cyan, #00e5ff);
    opacity: 0.7;
    pointer-events: none;
    z-index: 1;
}
body:is(.sf-ui, .results-sf) .sf-page-header::before,
body:is(.sf-ui, .results-sf) .page-header::before,
.sf-page-header::before {
    top: 8px;
    left: 8px;
    border-right: none;
    border-bottom: none;
}
body:is(.sf-ui, .results-sf) .sf-page-header::after,
body:is(.sf-ui, .results-sf) .page-header::after,
.sf-page-header::after {
    right: 8px;
    bottom: 8px;
    border-left: none;
    border-top: none;
}
body:is(.sf-ui, .results-sf) .sf-page-header h1,
body:is(.sf-ui, .results-sf) .page-header h1,
.sf-page-header h1 {
    font-family: 'Orbitron', 'Rajdhani', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: var(--sf-cyan, #00e5ff);
    letter-spacing: 1px;
    text-shadow: 0 0 12px rgba(0, 229, 255, 0.45);
    margin: 0 0 6px;
    line-height: 1.25;
}
body:is(.sf-ui, .results-sf) .sf-page-header p,
body:is(.sf-ui, .results-sf) .page-header p,
.sf-page-header p {
    margin: 0;
    color: var(--sf-muted, #7f9bb8);
    font-size: 13px;
    line-height: 1.45;
}
body:is(.sf-ui, .results-sf) .sf-page-header .page-header-top,
body:is(.sf-ui, .results-sf) .page-header .page-header-top,
.sf-page-header .page-header-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 6px;
    position: relative;
    z-index: 2;
}
body:is(.sf-ui, .results-sf) .sf-page-header .page-header-top h1,
body:is(.sf-ui, .results-sf) .page-header .page-header-top h1,
.sf-page-header .page-header-top h1 {
    margin: 0;
    flex: 0 0 auto;
}
body:is(.sf-ui, .results-sf) .sf-page-header .meta,
body:is(.sf-ui, .results-sf) .page-header .meta,
.sf-page-header .meta {
    margin-top: 8px;
    font-size: 12px;
    color: #5f86a8;
    font-family: 'Orbitron', sans-serif;
    letter-spacing: 0.5px;
    position: relative;
    z-index: 2;
}
body:is(.sf-ui, .results-sf) .sf-page-header .page-header-actions,
body:is(.sf-ui, .results-sf) .page-header .page-header-actions,
.sf-page-header .page-header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    position: relative;
    z-index: 2;
}
@media (max-width: 1100px) {
    body:is(.sf-ui, .results-sf) .sf-page-header .page-header-top,
    body:is(.sf-ui, .results-sf) .page-header .page-header-top,
    .sf-page-header .page-header-top {
        align-items: flex-start;
    }
}

/* —— 面板 —— */
body:is(.sf-ui, .results-sf) .main-content > .card,
body:is(.sf-ui, .results-sf) .sf-section,
body:is(.sf-ui, .results-sf) .pagination-card,
body:is(.sf-ui, .results-sf) .aj-pagination-wrap {
    background: rgba(10, 20, 36, 0.96) !important;
    border: 1px solid var(--sf-border) !important;
    border-radius: 4px !important;
    padding: 18px 18px !important;
    margin-bottom: 16px !important;
    box-shadow: var(--sf-glow) !important;
    /* 不用 backdrop-filter：Chrome 原生日历会因此定位跑偏 */
    color: var(--sf-text);
}

/* —— Tab 通排卡片：与抬头同宽 —— */
body:is(.sf-ui, .results-sf) .tabs,
body:is(.sf-ui, .results-sf) .fw-tab-nav.tabs {
    display: flex !important;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 6px 8px !important;
    margin-bottom: 18px !important;
    background: rgba(10, 22, 38, 0.96) !important;
    border: 1px solid rgba(0, 229, 255, 0.28) !important;
    border-radius: 4px !important;
    box-shadow: 0 0 24px rgba(0, 229, 255, 0.12) !important;
}
body:is(.sf-ui, .results-sf) .tabs .tab,
body:is(.sf-ui, .results-sf) .fw-tab-nav .tab {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--sf-muted) !important;
    border-radius: 4px !important;
    padding: 10px 18px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}
body:is(.sf-ui, .results-sf) .tabs .tab:hover,
body:is(.sf-ui, .results-sf) .fw-tab-nav .tab:hover {
    color: var(--sf-cyan) !important;
    background: rgba(0, 229, 255, 0.08) !important;
}
body:is(.sf-ui, .results-sf) .tabs .tab.active,
body:is(.sf-ui, .results-sf) .tabs .tab.is-active,
body:is(.sf-ui, .results-sf) .fw-tab-nav .tab.active,
body:is(.sf-ui, .results-sf) .fw-tab-nav .tab.is-active {
    color: var(--sf-cyan) !important;
    background: rgba(0, 229, 255, 0.14) !important;
}

/* Tab 选中：左边框 2px + 分色文字（切 Tab 换色） */
body:is(.sf-ui, .results-sf) .tabs .tab:nth-child(1).active,
body:is(.sf-ui, .results-sf) .tabs .tab:nth-child(1).is-active,
body:is(.sf-ui, .results-sf) .fw-tab-nav .tab:nth-child(1).active,
body:is(.sf-ui, .results-sf) .fw-tab-nav .tab:nth-child(1).is-active {
    background: rgba(255, 193, 7, 0.1) !important;
    color: #ffc857 !important;
    border-left: 2px solid #ffc857 !important;
}
body:is(.sf-ui, .results-sf) .tabs .tab:nth-child(2).active,
body:is(.sf-ui, .results-sf) .tabs .tab:nth-child(2).is-active,
body:is(.sf-ui, .results-sf) .fw-tab-nav .tab:nth-child(2).active,
body:is(.sf-ui, .results-sf) .fw-tab-nav .tab:nth-child(2).is-active {
    background: rgba(93, 255, 168, 0.1) !important;
    color: #5dffa8 !important;
    border-left: 2px solid #5dffa8 !important;
}
body:is(.sf-ui, .results-sf) .tabs .tab:nth-child(3).active,
body:is(.sf-ui, .results-sf) .tabs .tab:nth-child(3).is-active,
body:is(.sf-ui, .results-sf) .fw-tab-nav .tab:nth-child(3).active,
body:is(.sf-ui, .results-sf) .fw-tab-nav .tab:nth-child(3).is-active {
    background: rgba(77, 184, 255, 0.1) !important;
    color: #6ec8ff !important;
    border-left: 2px solid #6ec8ff !important;
}
body:is(.sf-ui, .results-sf) .tabs .tab:nth-child(4).active,
body:is(.sf-ui, .results-sf) .tabs .tab:nth-child(4).is-active,
body:is(.sf-ui, .results-sf) .fw-tab-nav .tab:nth-child(4).active,
body:is(.sf-ui, .results-sf) .fw-tab-nav .tab:nth-child(4).is-active {
    background: rgba(255, 77, 109, 0.1) !important;
    color: #ff8fa3 !important;
    border-left: 2px solid #ff8fa3 !important;
}

/* —— 分页（结果页样式写入库，监控管理共用） —— */
body:is(.sf-ui, .results-sf) .pagination-card,
body:is(.sf-ui, .results-sf) .aj-pagination-wrap {
    padding: 12px 16px !important;
    background: rgba(8, 16, 30, 0.96) !important;
}
body:is(.sf-ui, .results-sf) .aj-pagination-wrap {
    margin-top: 16px !important;
    border-top: none !important;
}
body:is(.sf-ui, .results-sf) .pagination {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin: 0;
}
body:is(.sf-ui, .results-sf) .pagination a,
body:is(.sf-ui, .results-sf) .pagination span.current,
body:is(.sf-ui, .results-sf) .pagination span.page-ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(8, 28, 48, 0.9) !important;
    border: 1px solid rgba(0, 229, 255, 0.28) !important;
    color: var(--sf-text) !important;
    border-radius: 4px !important;
    min-height: 34px !important;
    min-width: 34px;
    padding: 0 11px !important;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    box-sizing: border-box;
    text-decoration: none !important;
    white-space: nowrap;
    box-shadow: none !important;
}
body:is(.sf-ui, .results-sf) .pagination span.current,
body:is(.sf-ui, .results-sf) .pagination .current {
    border-color: var(--sf-cyan) !important;
    color: var(--sf-cyan) !important;
    background: rgba(0, 229, 255, 0.1) !important;
    box-shadow: 0 0 10px rgba(0, 229, 255, 0.25) !important;
    font-weight: 700;
}
body:is(.sf-ui, .results-sf) .pagination a:hover {
    border-color: var(--sf-border-strong) !important;
    color: var(--sf-cyan) !important;
    background: rgba(0, 229, 255, 0.08) !important;
}
body:is(.sf-ui, .results-sf) .pagination .nav-btn {
    color: var(--sf-text-strong) !important;
    background: rgba(8, 28, 48, 0.9) !important;
}
body:is(.sf-ui, .results-sf) .pagination span.page-ellipsis {
    border-color: transparent !important;
    background: transparent !important;
    color: var(--sf-muted) !important;
    box-shadow: none !important;
    min-width: 28px;
    padding: 0 4px !important;
}
body:is(.sf-ui, .results-sf) .pagination-info,
body:is(.sf-ui, .results-sf) .pagination-per-page {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--sf-muted) !important;
    gap: 8px;
    min-height: 34px !important;
    padding: 0 4px !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 13px;
    white-space: nowrap;
}
body:is(.sf-ui, .results-sf) .pagination-info strong {
    color: var(--sf-cyan) !important;
    font-weight: 700;
    margin: 0 3px;
    background: none !important;
    box-shadow: none !important;
}
body:is(.sf-ui, .results-sf) .pagination-info i {
    margin-right: 5px;
    color: var(--sf-cyan) !important;
}
body:is(.sf-ui, .results-sf) .pagination-info-range {
    color: var(--sf-muted) !important;
    font-weight: 500;
}
body:is(.sf-ui, .results-sf) .pagination-per-page-label,
body:is(.sf-ui, .results-sf) .pagination-per-page label {
    color: var(--sf-cyan) !important;
    font-family: var(--sf-font-display, 'Orbitron', sans-serif) !important;
    font-size: 11px !important;
    letter-spacing: 0.06em;
    font-weight: 700;
    white-space: nowrap;
}
body:is(.sf-ui, .results-sf) .pagination-per-page .sf-select,
body:is(.sf-ui, .results-sf) .pagination-per-page .sf-select--compact {
    min-width: 96px;
    z-index: 6;
    display: inline-block;
    width: auto;
    vertical-align: middle;
}
body:is(.sf-ui, .results-sf) .pagination-per-page .sf-select--compact .sf-select-trigger,
body:is(.sf-ui, .results-sf) .pagination-per-page .sf-select .sf-select-trigger {
    padding: 6px 10px;
    font-size: 13px;
    min-height: 34px;
    box-sizing: border-box;
    color: var(--sf-text-strong) !important;
    width: auto;
    min-width: 88px;
}
/* 紧凑下拉：宽度随文字自适应（关键词行内匹配类型等） */
body:is(.sf-ui, .results-sf) .sf-select.sf-select--compact {
    min-width: 0 !important;
    width: fit-content !important;
    max-width: max-content !important;
    display: inline-block !important;
    vertical-align: middle;
    flex: 0 0 auto !important;
    z-index: 4;
}
body:is(.sf-ui, .results-sf) .sf-select.sf-select--compact .sf-select-trigger {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 26px;
    padding: 3px 7px !important;
    font-size: 12px !important;
    gap: 3px !important;
    justify-content: flex-start !important;
}
/* 满宽紧凑：占满父格（如弹窗三列均分），压过上方 fit-content */
body:is(.sf-ui, .results-sf) .sf-select.sf-select--full,
body:is(.sf-ui, .results-sf) .sf-select.sf-select--compact.sf-select--full {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: block !important;
    flex: 1 1 auto !important;
}
body:is(.sf-ui, .results-sf) .sf-select.sf-select--full .sf-select-trigger,
body:is(.sf-ui, .results-sf) .sf-select.sf-select--compact.sf-select--full .sf-select-trigger {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}
body:is(.sf-ui, .results-sf) .keyword-actions .sf-select,
body:is(.sf-ui, .results-sf) .keyword-actions .sf-select.sf-select--compact {
    width: fit-content !important;
    min-width: 0 !important;
    max-width: max-content !important;
    flex: 0 0 auto !important;
}
body:is(.sf-ui, .results-sf) .keyword-actions .sf-select .sf-select-trigger,
body:is(.sf-ui, .results-sf) .keyword-actions .sf-select.sf-select--compact .sf-select-trigger {
    width: auto !important;
    min-width: 0 !important;
    padding: 3px 6px !important;
    font-size: 11px !important;
    gap: 3px !important;
    justify-content: flex-start !important;
}
body:is(.sf-ui, .results-sf) .pagination-per-page select {
    height: 34px !important;
    min-width: 88px;
    padding: 0 8px !important;
    text-align: center;
    cursor: pointer;
    font-size: 13px !important;
    font-weight: 600;
}
body:is(.sf-ui, .results-sf) .pagination-per-page .per-page-custom {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
body:is(.sf-ui, .results-sf) .pagination-per-page .per-page-custom input {
    width: 72px;
    height: 34px;
    text-align: center;
    font-weight: 600;
}
body:is(.sf-ui, .results-sf) .pagination-per-page .per-page-custom button {
    height: 34px;
    padding: 0 12px !important;
    font-size: 12px !important;
}

/* 输入 / 选择 */
body:is(.sf-ui, .results-sf) input[type="text"],
body:is(.sf-ui, .results-sf) input[type="search"],
body:is(.sf-ui, .results-sf) input[type="date"],
body:is(.sf-ui, .results-sf) input[type="time"],
body:is(.sf-ui, .results-sf) input[type="password"],
body:is(.sf-ui, .results-sf) textarea,
body:is(.sf-ui, .results-sf) select,
body:is(.sf-ui, .results-sf) .results-search-input {
    background: rgba(6, 18, 36, 0.9) !important;
    border: 1px solid rgba(0, 229, 255, 0.28) !important;
    color: var(--sf-text) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    color-scheme: dark;
}
body:is(.sf-ui, .results-sf) input[type="date"] {
    min-width: 148px;
    color-scheme: dark;
}
/* 原生 time 弹层走暗色 + 主题强调色（浏览器可控范围有限） */
body:is(.sf-ui, .results-sf) input[type="time"] {
    color-scheme: dark;
    accent-color: #ffc857;
}
body:is(.sf-ui, .results-sf) input[type="time"]::-webkit-calendar-picker-indicator {
    cursor: pointer;
    opacity: 1;
    filter: invert(78%) sepia(55%) saturate(650%) hue-rotate(359deg) brightness(105%) contrast(102%);
}

/* —— 自定义日期字段 / 日历面板 —— */
body:is(.sf-ui, .results-sf) .sf-date-field,
body:is(.sf-ui, .results-sf) .analyze-date-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
}
body:is(.sf-ui, .results-sf) .sf-date-field .sf-date-input {
    width: 148px;
    padding: 7px 36px 7px 10px !important;
    font-size: 14px;
    box-sizing: border-box;
}
body:is(.sf-ui, .results-sf) .sf-date-btn,
body:is(.sf-ui, .results-sf) .analyze-date-btn {
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none !important;
    border-radius: 4px !important;
    background: rgba(0, 229, 255, 0.12) !important;
    color: var(--sf-cyan) !important;
    cursor: pointer;
    box-shadow: none !important;
}
body:is(.sf-ui, .results-sf) .sf-date-btn:hover,
body:is(.sf-ui, .results-sf) .analyze-date-btn:hover {
    background: rgba(0, 229, 255, 0.22) !important;
}
body:is(.sf-ui, .results-sf) .sf-date-btn svg,
body:is(.sf-ui, .results-sf) .analyze-date-btn svg {
    width: 15px;
    height: 15px;
    display: block;
}
body:is(.sf-ui, .results-sf) .analyze-date-native {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    left: 0 !important;
    top: 0 !important;
}

.sf-date-panel {
    position: fixed;
    z-index: 30000;
    width: 288px;
    box-sizing: border-box;
    padding: 10px;
    background: rgba(8, 18, 32, 0.98);
    border: 1px solid rgba(0, 229, 255, 0.4);
    border-radius: 8px;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.5), 0 0 20px rgba(0, 229, 255, 0.14);
    color: #9eb6d0;
    font-family: 'Rajdhani', 'Segoe UI', 'Microsoft YaHei', sans-serif;
}
.sf-date-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px;
}
.sf-date-title {
    font-family: 'Orbitron', sans-serif;
    font-size: 13px;
    letter-spacing: 0.04em;
    color: #00e5ff;
    font-weight: 700;
}
.sf-date-nav {
    width: 30px;
    height: 30px;
    border: 1px solid rgba(0, 229, 255, 0.3);
    border-radius: 4px;
    background: rgba(6, 18, 36, 0.95);
    color: #00e5ff;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
}
.sf-date-nav:hover {
    border-color: #00e5ff;
    background: rgba(0, 229, 255, 0.12);
}
.sf-date-week {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
    margin-bottom: 4px;
}
.sf-date-week span {
    text-align: center;
    font-size: 11px;
    color: #7f9bb8;
    padding: 4px 0;
}
.sf-date-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
}
.sf-date-day {
    height: 32px;
    border: 1px solid transparent;
    border-radius: 4px;
    background: transparent;
    color: #9eb6d0;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}
.sf-date-day:hover:not(:disabled) {
    border-color: rgba(0, 229, 255, 0.35);
    color: #00e5ff;
    background: rgba(0, 229, 255, 0.1);
}
.sf-date-day.is-empty {
    cursor: default;
    visibility: hidden;
}
.sf-date-day.is-today {
    border-color: rgba(20, 241, 196, 0.45);
    color: #14f1c4;
}
.sf-date-day.is-selected {
    background: rgba(0, 229, 255, 0.22) !important;
    border-color: rgba(0, 229, 255, 0.55) !important;
    color: #00e5ff !important;
    box-shadow: 0 0 10px rgba(0, 229, 255, 0.2);
}
.sf-date-foot {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px solid rgba(0, 229, 255, 0.18);
}
.sf-date-action {
    border: 1px solid rgba(0, 229, 255, 0.3);
    border-radius: 4px;
    background: rgba(6, 18, 36, 0.95);
    color: #9eb6d0;
    font-size: 12px;
    font-weight: 700;
    padding: 6px 12px;
    cursor: pointer;
}
.sf-date-action:hover {
    color: #00e5ff;
    border-color: #00e5ff;
}
.sf-date-action.is-primary {
    color: #00e5ff;
    border-color: rgba(0, 229, 255, 0.45);
    background: rgba(0, 229, 255, 0.12);
}
body:is(.sf-ui, .results-sf) input:focus,
body:is(.sf-ui, .results-sf) textarea:focus,
body:is(.sf-ui, .results-sf) select:focus,
body:is(.sf-ui, .results-sf) .results-search-input:focus {
    border-color: var(--sf-cyan) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(0, 229, 255, 0.18) !important;
}
body:is(.sf-ui, .results-sf) ::placeholder {
    color: #5f86a8 !important;
}

/* —— 按钮 / 筛选芯片（全部·未读·已读·今日… 各页共用） ——
 * 默认：.sf-btn
 * 选中：.sf-btn-primary 或 .sf-btn.is-active
 * 危险：.sf-btn-danger   强调：.sf-btn-accent
 * 成组：.sf-btn-group
 */
.sf-btn-group,
body:is(.sf-ui, .results-sf) .batch-actions,
body:is(.sf-ui, .results-sf) .sf-btn-group {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

/* —— 青色素描图标（替代彩色 emoji） —— */
.sf-ico,
body:is(.sf-ui, .results-sf) .sf-ico {
    position: relative;
    display: inline-block;
    width: 0.92em;
    height: 0.92em;
    flex-shrink: 0;
    vertical-align: -0.1em;
    color: currentColor;
    box-sizing: border-box;
}
.sf-ico::before,
.sf-ico::after {
    content: '';
    position: absolute;
    box-sizing: border-box;
    border-color: currentColor;
    background: currentColor;
}
/* 列表 / 全部 */
.sf-ico-list::before {
    inset: 0.08em 0;
    background:
        linear-gradient(currentColor, currentColor) 0 0 / 100% 1.5px no-repeat,
        linear-gradient(currentColor, currentColor) 0 50% / 100% 1.5px no-repeat,
        linear-gradient(currentColor, currentColor) 0 100% / 100% 1.5px no-repeat;
}
/* 柱状 / 有数据 */
.sf-ico-bars {
    background:
        linear-gradient(currentColor, currentColor) 0 55% / 22% 45% no-repeat,
        linear-gradient(currentColor, currentColor) 39% 20% / 22% 80% no-repeat,
        linear-gradient(currentColor, currentColor) 78% 40% / 22% 60% no-repeat;
}
.sf-ico-bars::before,
.sf-ico-bars::after { display: none; }
/* 空盒 / 无数据 */
.sf-ico-empty::before {
    inset: 0.12em 0.05em 0.05em;
    border: 1.5px solid currentColor;
    border-radius: 2px;
    background: transparent;
}
.sf-ico-empty::after {
    left: 0.18em; right: 0.18em; top: 0.02em; height: 1.5px;
    background: currentColor;
}
/* 扫描 / 检查 */
.sf-ico-scan::before {
    inset: 0.05em;
    border: 1.5px solid currentColor;
    border-radius: 50%;
    background: transparent;
}
.sf-ico-scan::after {
    width: 0.42em; height: 1.5px;
    right: -0.02em; bottom: 0.08em;
    transform: rotate(42deg);
    transform-origin: left center;
    border-radius: 1px;
}
/* 回收站 */
.sf-ico-trash::before {
    left: 0.18em; right: 0.18em; top: 0.28em; bottom: 0.05em;
    border: 1.5px solid currentColor;
    border-top: none;
    border-radius: 0 0 2px 2px;
    background: transparent;
}
.sf-ico-trash::after {
    left: 0.08em; right: 0.08em; top: 0.12em; height: 1.5px;
    box-shadow: 0 -0.14em 0 -0.15em currentColor, 0 -0.14em 0 0.02em currentColor;
}
/* 趋势 / 策略 */
.sf-ico-pulse::before {
    inset: 0.15em 0.05em;
    background: transparent;
    border: none;
    background-image: linear-gradient(currentColor, currentColor);
    clip-path: polygon(0 70%, 22% 70%, 38% 20%, 55% 85%, 72% 45%, 88% 45%, 88% 58%, 78% 58%, 62% 100%, 40% 35%, 28% 82%, 12% 82%, 12% 70%, 0 70%);
}
.sf-ico-pulse::after { display: none; }
/* 加号 */
.sf-ico-plus {
    color: var(--sf-cyan, #00e5ff);
}
.sf-ico-plus::before {
    left: 50%; top: 0.06em; bottom: 0.06em; width: 2px;
    transform: translateX(-50%);
    border-radius: 1px;
    background: currentColor;
}
.sf-ico-plus::after {
    top: 50%; left: 0.06em; right: 0.06em; height: 2px;
    transform: translateY(-50%);
    border-radius: 1px;
    background: currentColor;
}
/* 抬头里的加号再亮一点 */
.sf-page-header h1 .sf-ico-plus,
.page-header h1 .sf-ico-plus {
    color: var(--sf-cyan, #00e5ff) !important;
    filter: drop-shadow(0 0 6px rgba(0, 229, 255, 0.55));
}
/* 勾选方框 */
.sf-ico-check::before {
    inset: 0.05em;
    border: 1.5px solid currentColor;
    border-radius: 2px;
    background: transparent;
}
.sf-ico-check::after {
    left: 0.22em; top: 0.28em;
    width: 0.28em; height: 0.48em;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    background: transparent;
    transform: rotate(40deg);
}
/* 禁止 */
.sf-ico-ban::before {
    inset: 0.05em;
    border: 1.5px solid currentColor;
    border-radius: 50%;
    background: transparent;
}
.sf-ico-ban::after {
    left: 0.12em; right: 0.12em; top: 50%; height: 1.5px;
    transform: translateY(-50%) rotate(-40deg);
    border-radius: 1px;
}
/* 勾 */
.sf-ico-ok::before {
    left: 0.18em; top: 0.08em;
    width: 0.38em; height: 0.68em;
    border-right: 1.8px solid currentColor;
    border-bottom: 1.8px solid currentColor;
    background: transparent;
    transform: rotate(40deg);
}
.sf-ico-ok::after { display: none; }
/* 导出 */
.sf-ico-export::before {
    left: 0.12em; right: 0.12em; bottom: 0.05em; height: 0.4em;
    border: 1.5px solid currentColor;
    border-top: none;
    border-radius: 0 0 2px 2px;
    background: transparent;
}
.sf-ico-export::after {
    left: 50%; top: 0.05em;
    width: 0;
    height: 0;
    background: transparent;
    border-left: 0.22em solid transparent;
    border-right: 0.22em solid transparent;
    border-bottom: 0.28em solid currentColor;
    transform: translateX(-50%);
    box-shadow: 0 0.32em 0 -0.08em currentColor;
}
/* 卡片网格 */
.sf-ico-grid::before {
    inset: 0.05em;
    background:
        linear-gradient(currentColor, currentColor) 0 0 / 42% 42% no-repeat,
        linear-gradient(currentColor, currentColor) 100% 0 / 42% 42% no-repeat,
        linear-gradient(currentColor, currentColor) 0 100% / 42% 42% no-repeat,
        linear-gradient(currentColor, currentColor) 100% 100% / 42% 42% no-repeat;
    border-radius: 1px;
}
.sf-ico-grid::after { display: none; }
/* 文档 / 列表视图 */
.sf-ico-rows::before {
    inset: 0.05em;
    border: 1.5px solid currentColor;
    border-radius: 2px;
    background:
        linear-gradient(currentColor, currentColor) 0.12em 0.22em / calc(100% - 0.24em) 1.2px no-repeat,
        linear-gradient(currentColor, currentColor) 0.12em 50% / calc(100% - 0.24em) 1.2px no-repeat,
        linear-gradient(currentColor, currentColor) 0.12em calc(100% - 0.22em) / calc(100% - 0.24em) 1.2px no-repeat;
}
.sf-ico-rows::after { display: none; }
/* 搜索 */
.sf-ico-search::before {
    left: 0.05em; top: 0.05em; width: 0.62em; height: 0.62em;
    border: 1.5px solid currentColor;
    border-radius: 50%;
    background: transparent;
}
.sf-ico-search::after {
    width: 0.38em; height: 1.5px;
    right: 0; bottom: 0.1em;
    transform: rotate(42deg);
    transform-origin: left center;
}
/* 地球 / 监控 */
.sf-ico-globe::before {
    inset: 0.05em;
    border: 1.5px solid currentColor;
    border-radius: 50%;
    background: transparent;
}
.sf-ico-globe::after {
    left: 50%; top: 0.05em; bottom: 0.05em; width: 1.5px;
    transform: translateX(-50%);
    box-shadow: -0.22em 0 0 -0.35em currentColor, 0.22em 0 0 -0.35em currentColor;
    background: linear-gradient(currentColor, currentColor);
}
/* 地点针 */
.sf-ico-pin::before {
    left: 50%; top: 0;
    width: 0.72em; height: 0.72em;
    margin-left: -0.36em;
    border: 1.5px solid currentColor;
    border-radius: 50% 50% 50% 0;
    transform: rotate(-45deg);
    background: transparent;
}
.sf-ico-pin::after {
    left: 50%; top: 0.22em;
    width: 0.22em; height: 0.22em;
    margin-left: -0.11em;
    border-radius: 50%;
    background: currentColor;
}

body:is(.sf-ui, .results-sf) .sf-btn,
body:is(.sf-ui, .results-sf) .sf-chip,
body:is(.sf-ui, .results-sf) .batch-actions button,
body:is(.sf-ui, .results-sf) .view-mode-btn,
body:is(.sf-ui, .results-sf) .results-filter-toggle,
body:is(.sf-ui, .results-sf) .region-filter-btn,
body:is(.sf-ui, .results-sf) .btn,
body:is(.sf-ui, .results-sf) .btn-small,
.sf-btn,
.sf-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-family: var(--sf-font, 'Rajdhani', sans-serif) !important;
    font-weight: 600 !important;
    font-size: 14px;
    line-height: 1.2;
    padding: 8px 14px;
    border-radius: 4px !important;
    border: 1px solid rgba(0, 229, 255, 0.28) !important;
    background: rgba(8, 28, 48, 0.9) !important;
    color: var(--sf-text, #9eb6d0) !important;
    box-shadow: none !important;
    opacity: 1 !important;
    cursor: pointer;
    text-decoration: none !important;
    white-space: nowrap;
    box-sizing: border-box;
    transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}
body:is(.sf-ui, .results-sf) .sf-btn:hover,
body:is(.sf-ui, .results-sf) .sf-chip:hover,
body:is(.sf-ui, .results-sf) .batch-actions button:hover,
body:is(.sf-ui, .results-sf) .view-mode-btn:hover,
body:is(.sf-ui, .results-sf) .results-filter-toggle:hover,
body:is(.sf-ui, .results-sf) .region-filter-btn:hover,
body:is(.sf-ui, .results-sf) .btn:hover,
body:is(.sf-ui, .results-sf) .btn-small:hover,
.sf-btn:hover,
.sf-chip:hover {
    border-color: var(--sf-border-strong, rgba(0, 229, 255, 0.55)) !important;
    background: rgba(0, 229, 255, 0.12) !important;
    color: var(--sf-cyan, #00e5ff) !important;
    transform: none !important;
}

/* 选中态：青边 + 青字 + 微光（如图「已读」） */
body:is(.sf-ui, .results-sf) .sf-btn-primary,
body:is(.sf-ui, .results-sf) .sf-btn.is-active,
body:is(.sf-ui, .results-sf) .sf-chip.is-active,
body:is(.sf-ui, .results-sf) .batch-actions .sf-btn.sf-btn-primary,
body:is(.sf-ui, .results-sf) .batch-actions button[style*="#007bff"],
body:is(.sf-ui, .results-sf) .view-mode-btn.active,
body:is(.sf-ui, .results-sf) .results-filter-toggle.is-on-multi,
body:is(.sf-ui, .results-sf) .results-filter-toggle.is-on-merge,
body:is(.sf-ui, .results-sf) .results-filter-toggle.is-on-extracted,
body:is(.sf-ui, .results-sf) .region-filter-btn.selected,
body:is(.sf-ui, .results-sf) .region-filter-btn.expanded,
.sf-btn-primary,
.sf-btn.is-active,
.sf-chip.is-active {
    background: linear-gradient(135deg, rgba(0, 180, 210, 0.4), rgba(0, 120, 180, 0.5)) !important;
    border-color: var(--sf-cyan, #00e5ff) !important;
    color: var(--sf-cyan, #00e5ff) !important;
    box-shadow: 0 0 12px rgba(0, 229, 255, 0.22) !important;
}
body:is(.sf-ui, .results-sf) .sf-btn-primary:hover,
body:is(.sf-ui, .results-sf) .sf-btn.is-active:hover,
.sf-btn-primary:hover,
.sf-btn.is-active:hover {
    background: linear-gradient(135deg, rgba(0, 180, 210, 0.5), rgba(0, 120, 180, 0.58)) !important;
    box-shadow: 0 0 16px rgba(0, 229, 255, 0.3) !important;
}

body:is(.sf-ui, .results-sf) .sf-btn-danger,
body:is(.sf-ui, .results-sf) #clearExecuteBtn,
body:is(.sf-ui, .results-sf) #batchDeleteBtn:not([disabled]),
.sf-btn-danger {
    border-color: rgba(255, 77, 109, 0.55) !important;
    color: #ffb3c0 !important;
    background: rgba(8, 28, 48, 0.9) !important;
}
body:is(.sf-ui, .results-sf) .sf-btn-danger:hover,
body:is(.sf-ui, .results-sf) #clearExecuteBtn:hover,
.sf-btn-danger:hover {
    background: rgba(255, 77, 109, 0.18) !important;
    border-color: rgba(255, 77, 109, 0.7) !important;
}
body:is(.sf-ui, .results-sf) .sf-btn-accent,
body:is(.sf-ui, .results-sf) #analyzeResultsBtn,
body:is(.sf-ui, .results-sf) #exportDataBtn,
.sf-btn-accent {
    border-color: rgba(20, 241, 196, 0.45) !important;
    color: #a7f3e0 !important;
}
body:is(.sf-ui, .results-sf) .sf-btn-accent:hover,
.sf-btn-accent:hover {
    background: rgba(20, 241, 196, 0.12) !important;
}

/* 批量操作：不可用 / 可用 */
body:is(.sf-ui, .results-sf) .is-batch-inactive,
.sf-btn.is-batch-inactive {
    opacity: 0.42 !important;
    cursor: not-allowed !important;
    border-color: rgba(127, 155, 184, 0.3) !important;
    color: var(--sf-muted, #7f9bb8) !important;
    box-shadow: none !important;
}
body:is(.sf-ui, .results-sf) .is-batch-active,
.sf-btn.is-batch-active {
    opacity: 1 !important;
    cursor: pointer !important;
}
body:is(.sf-ui, .results-sf) .batch-actions #selectNoneBtn.is-batch-active,
body:is(.sf-ui, .results-sf) .batch-actions #selectAllBtn.is-batch-active {
    background: linear-gradient(135deg, rgba(0, 180, 210, 0.35), rgba(0, 120, 180, 0.45)) !important;
    border-color: var(--sf-cyan) !important;
    color: var(--sf-cyan) !important;
    box-shadow: 0 0 12px rgba(0, 229, 255, 0.2) !important;
}
body:is(.sf-ui, .results-sf) .batch-actions #batchDeleteBtn.is-batch-active {
    opacity: 1 !important;
    border-color: rgba(255, 77, 109, 0.65) !important;
    color: #ffb3c0 !important;
    background: rgba(255, 77, 109, 0.16) !important;
}

body:is(.sf-ui, .results-sf) button:disabled,
body:is(.sf-ui, .results-sf) .batch-actions button[disabled],
.sf-btn:disabled {
    opacity: 0.45 !important;
    cursor: not-allowed !important;
}
/* 内层不要再描边，避免面板双线框 */
body:is(.sf-ui, .results-sf) .region-filter-content,
body:is(.sf-ui, .results-sf) .category-filter-content {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    max-height: none;
}
body:is(.sf-ui, .results-sf) .filter-btn:focus,
body:is(.sf-ui, .results-sf) .filter-btn:focus-visible,
body:is(.sf-ui, .results-sf) .region-filter-btn:focus,
body:is(.sf-ui, .results-sf) .category-filter-btn:focus,
body:is(.sf-ui, .results-sf) .sf-select-trigger:focus,
body:is(.sf-ui, .results-sf) .sf-select-trigger:focus-visible {
    outline: none !important;
}
body:is(.sf-ui, .results-sf) .current-region-display {
    background: rgba(0, 229, 255, 0.08) !important;
    border: 1px solid rgba(0, 229, 255, 0.28) !important;
    color: var(--sf-text) !important;
}
body:is(.sf-ui, .results-sf) .region-title,
body:is(.sf-ui, .results-sf) .region-label,
body:is(.sf-ui, .results-sf) .region-text {
    color: var(--sf-muted) !important;
}
/* 不要标题下横线 */
body:is(.sf-ui, .results-sf) .region-title {
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 12px !important;
}
body:is(.sf-ui, .results-sf) .region-buttons,
body:is(.sf-ui, .results-sf) .city-buttons {
    gap: 8px !important;
}
body:is(.sf-ui, .results-sf) .region-btn,
body:is(.sf-ui, .results-sf) .region-btn.autonomous,
body:is(.sf-ui, .results-sf) .region-btn.all-btn,
body:is(.sf-ui, .results-sf) .city-buttons .region-btn {
    background: rgba(8, 28, 48, 0.95) !important;
    border: 1px solid rgba(0, 229, 255, 0.28) !important;
    color: var(--sf-text) !important;
    box-shadow: none !important;
}
body:is(.sf-ui, .results-sf) .region-btn:hover,
body:is(.sf-ui, .results-sf) .city-buttons .region-btn:hover {
    border-color: var(--sf-cyan) !important;
    background: rgba(0, 229, 255, 0.12) !important;
    color: var(--sf-cyan) !important;
}
body:is(.sf-ui, .results-sf) .region-btn.selected,
body:is(.sf-ui, .results-sf) .region-btn.all-btn.selected,
body:is(.sf-ui, .results-sf) .city-buttons .region-btn.selected {
    border-color: var(--sf-cyan) !important;
    background: rgba(0, 229, 255, 0.2) !important;
    color: var(--sf-cyan) !important;
    box-shadow: 0 0 10px rgba(0, 229, 255, 0.18) !important;
    font-weight: 700;
}
body:is(.sf-ui, .results-sf) .region-btn.all-btn {
    border-color: rgba(20, 241, 196, 0.45) !important;
    color: var(--sf-teal) !important;
    font-weight: 700 !important;
}
body:is(.sf-ui, .results-sf) .city-section {
    border-top: none !important;
    padding-top: 12px !important;
    margin-top: 8px !important;
}
body:is(.sf-ui, .results-sf) .city-section .region-title {
    color: var(--sf-muted) !important;
}
body:is(.sf-ui, .results-sf) .current-region-display .region-label,
body:is(.sf-ui, .results-sf) .current-region-display .region-text {
    color: var(--sf-text) !important;
}
body:is(.sf-ui, .results-sf) .clear-region-btn,
body:is(.sf-ui, .results-sf) .reselect-region-btn {
    background: rgba(8, 28, 48, 0.95) !important;
    border: 1px solid rgba(0, 229, 255, 0.3) !important;
    color: var(--sf-text) !important;
}

/* =========================================================
 * 弹窗公用（结果页样式写入库：遮罩背景 · 面板效果 · 文字色）
 * 推荐结构：.sf-modal-overlay > .sf-modal > header/body/footer
 * 亦覆盖：analyze / delete / info / export / modal / aj-confirm /
 *         monitor-export / interval-picker / logout-confirm
 * ========================================================= */
@keyframes sfModalFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}
@keyframes sfModalPopIn {
    from { opacity: 0; transform: translateY(12px) scale(0.96); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

/* 遮罩：深色半透明 + 模糊 */
body:is(.sf-ui, .results-sf) .sf-modal-overlay,
body:is(.sf-ui, .results-sf) .analyze-modal-overlay,
body:is(.sf-ui, .results-sf) .delete-modal-overlay,
body:is(.sf-ui, .results-sf) .info-modal-overlay,
body:is(.sf-ui, .results-sf) .export-modal-overlay,
body:is(.sf-ui, .results-sf) .monitor-export-overlay,
body:is(.sf-ui, .results-sf) .aj-confirm-modal,
body:is(.sf-ui, .results-sf) .interval-picker-modal,
body:is(.sf-ui, .results-sf) .logout-confirm-modal,
body:is(.sf-ui, .results-sf) .modal,
body:is(.sf-ui, .results-sf) #arx7k9m-reauth-overlay-root,
.sf-modal-overlay {
    background: var(--sf-modal-overlay-bg) !important;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    z-index: var(--sf-modal-z) !important;
}
body:is(.sf-ui, .results-sf) .sf-modal-overlay,
body:is(.sf-ui, .results-sf) .analyze-modal-overlay.show,
body:is(.sf-ui, .results-sf) .delete-modal-overlay.show,
body:is(.sf-ui, .results-sf) .info-modal-overlay.show,
body:is(.sf-ui, .results-sf) .export-modal-overlay.show,
body:is(.sf-ui, .results-sf) .monitor-export-overlay.show,
.sf-modal-overlay.show {
    animation: sfModalFadeIn 0.22s ease;
}

/* 面板：深色底 + 青边 + 外发光 + 弹出 */
body:is(.sf-ui, .results-sf) .sf-modal,
body:is(.sf-ui, .results-sf) .analyze-modal,
body:is(.sf-ui, .results-sf) .analyze-modal-overlay .analyze-modal,
body:is(.sf-ui, .results-sf) .delete-modal,
body:is(.sf-ui, .results-sf) .info-modal,
body:is(.sf-ui, .results-sf) .export-modal,
body:is(.sf-ui, .results-sf) .monitor-export-modal,
body:is(.sf-ui, .results-sf) .aj-confirm-modal-content,
body:is(.sf-ui, .results-sf) .interval-picker-modal .interval-picker-content,
body:is(.sf-ui, .results-sf) .logout-confirm-content,
body:is(.sf-ui, .results-sf) .modal-content,
body:is(.sf-ui, .results-sf) #arx7k9m-reauth-overlay-root .arx7k9m-card,
.sf-modal {
    background: var(--sf-modal-panel-bg) !important;
    border: var(--sf-modal-border) !important;
    border-radius: var(--sf-modal-radius) !important;
    box-shadow: var(--sf-modal-glow) !important;
    color: var(--sf-text) !important;
    overflow: hidden;
}
body:is(.sf-ui, .results-sf) .delete-modal-overlay.show .delete-modal,
body:is(.sf-ui, .results-sf) .info-modal-overlay.show .info-modal,
body:is(.sf-ui, .results-sf) .export-modal-overlay.show .export-modal,
body:is(.sf-ui, .results-sf) .analyze-modal-overlay.show .analyze-modal,
body:is(.sf-ui, .results-sf) .monitor-export-overlay.show .monitor-export-modal,
.sf-modal-overlay.show .sf-modal:not(.interval-picker-content) {
    animation: sfModalPopIn 0.28s ease;
    transform: none;
}

/* 间隔选择：用 flex 居中，避免 sf-modal 的 transform:none 把 translate(-50%) 冲掉导致跑偏 */
body:is(.sf-ui, .results-sf) .interval-picker-modal.show,
.interval-picker-modal.show {
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
}
body:is(.sf-ui, .results-sf) .interval-picker-modal .interval-picker-content,
body:is(.sf-ui, .results-sf) .interval-picker-modal .interval-picker-content.sf-modal {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    margin: 0 auto;
    max-height: calc(100vh - 32px);
    overflow: auto;
}
body:is(.sf-ui, .results-sf) .interval-picker-modal .modal-header,
body:is(.sf-ui, .results-sf) .interval-picker-modal .sf-modal-header {
    display: flex !important;
    align-items: center;
    gap: 8px;
    padding: 16px 20px !important;
    box-sizing: border-box;
}

/* 头 / 身 / 尾 */
body:is(.sf-ui, .results-sf) .sf-modal-header,
body:is(.sf-ui, .results-sf) .analyze-modal-header,
body:is(.sf-ui, .results-sf) .delete-modal-header,
body:is(.sf-ui, .results-sf) .info-modal-header,
body:is(.sf-ui, .results-sf) .export-modal-header,
body:is(.sf-ui, .results-sf) .monitor-export-header,
body:is(.sf-ui, .results-sf) .aj-confirm-modal-header,
body:is(.sf-ui, .results-sf) .interval-picker-modal .modal-header,
body:is(.sf-ui, .results-sf) .logout-confirm-header,
body:is(.sf-ui, .results-sf) .modal-header,
body:is(.sf-ui, .results-sf) #arx7k9m-reauth-overlay-root .arx7k9m-header,
.sf-modal-header {
    background: var(--sf-modal-header-bg) !important;
    border-bottom: 1px solid rgba(0, 229, 255, 0.25) !important;
    color: var(--sf-text) !important;
}
body:is(.sf-ui, .results-sf) .sf-modal-header h2,
body:is(.sf-ui, .results-sf) .sf-modal-header h3,
body:is(.sf-ui, .results-sf) .analyze-modal-header h3,
body:is(.sf-ui, .results-sf) .delete-modal-header h3,
body:is(.sf-ui, .results-sf) .info-modal-header h3,
body:is(.sf-ui, .results-sf) .export-modal-header h3,
body:is(.sf-ui, .results-sf) .monitor-export-header h3,
body:is(.sf-ui, .results-sf) .aj-confirm-modal-title,
body:is(.sf-ui, .results-sf) .interval-picker-modal .modal-header h3,
body:is(.sf-ui, .results-sf) .logout-confirm-header,
body:is(.sf-ui, .results-sf) .modal-header h2,
body:is(.sf-ui, .results-sf) .modal-header h3,
body:is(.sf-ui, .results-sf) #arx7k9m-reauth-overlay-root .arx7k9m-title,
.sf-modal-header h3 {
    font-family: var(--sf-font-display) !important;
    color: var(--sf-cyan) !important;
    letter-spacing: 0.4px;
    text-shadow: 0 0 10px rgba(0, 229, 255, 0.3);
}
body:is(.sf-ui, .results-sf) .sf-modal-body,
body:is(.sf-ui, .results-sf) .analyze-modal-body,
body:is(.sf-ui, .results-sf) .delete-modal-body,
body:is(.sf-ui, .results-sf) .info-modal-body,
body:is(.sf-ui, .results-sf) .export-modal-body,
body:is(.sf-ui, .results-sf) .monitor-export-body,
body:is(.sf-ui, .results-sf) .aj-confirm-modal-body,
body:is(.sf-ui, .results-sf) .interval-picker-modal .modal-body,
body:is(.sf-ui, .results-sf) .logout-confirm-body,
body:is(.sf-ui, .results-sf) .modal-body,
body:is(.sf-ui, .results-sf) #arx7k9m-reauth-overlay-root .arx7k9m-body,
.sf-modal-body {
    background: var(--sf-modal-body-bg) !important;
    color: var(--sf-text) !important;
}
body:is(.sf-ui, .results-sf) .sf-modal-body p,
body:is(.sf-ui, .results-sf) .analyze-modal-body p,
body:is(.sf-ui, .results-sf) .delete-modal-body p,
body:is(.sf-ui, .results-sf) .info-modal-body p,
body:is(.sf-ui, .results-sf) .export-modal-body > p,
body:is(.sf-ui, .results-sf) .monitor-export-body > p,
body:is(.sf-ui, .results-sf) .aj-confirm-modal-body p,
body:is(.sf-ui, .results-sf) .logout-confirm-body p,
body:is(.sf-ui, .results-sf) .modal-body p,
body:is(.sf-ui, .results-sf) #arx7k9m-reauth-overlay-root .arx7k9m-msg {
    color: var(--sf-text) !important;
}
body:is(.sf-ui, .results-sf) .sf-modal-footer,
body:is(.sf-ui, .results-sf) .analyze-modal-footer,
body:is(.sf-ui, .results-sf) .delete-modal-footer,
body:is(.sf-ui, .results-sf) .info-modal-footer,
body:is(.sf-ui, .results-sf) .export-modal-footer,
body:is(.sf-ui, .results-sf) .monitor-export-footer,
body:is(.sf-ui, .results-sf) .aj-confirm-modal-footer,
body:is(.sf-ui, .results-sf) .interval-picker-modal .modal-footer,
body:is(.sf-ui, .results-sf) .logout-confirm-footer,
body:is(.sf-ui, .results-sf) .modal-footer,
.sf-modal-footer {
    background: var(--sf-modal-footer-bg) !important;
    border-top: 1px solid rgba(0, 229, 255, 0.18) !important;
}

/* 关闭钮 .sf-modal-close（兼容 .close / .modal-close / .analyze-modal-close 等） */
body:is(.sf-ui, .results-sf) .sf-modal-close,
body:is(.sf-ui, .results-sf) .analyze-modal-close,
body:is(.sf-ui, .results-sf) .aj-confirm-modal-close,
body:is(.sf-ui, .results-sf) .modal-close,
body:is(.sf-ui, .results-sf) .modal .close,
body:is(.sf-ui, .results-sf) .modal-header .close,
body:is(.sf-ui, .results-sf) #arx7k9m-reauth-overlay-root .arx7k9m-close,
.sf-modal-close {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    min-height: 22px !important;
    padding: 0 !important;
    margin: 0;
    background: rgba(0, 229, 255, 0.1) !important;
    color: var(--sf-cyan) !important;
    border: 1px solid rgba(0, 229, 255, 0.32) !important;
    border-radius: 4px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    cursor: pointer;
    opacity: 1 !important;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
body:is(.sf-ui, .results-sf) .sf-modal-close:hover,
body:is(.sf-ui, .results-sf) .analyze-modal-close:hover,
body:is(.sf-ui, .results-sf) .aj-confirm-modal-close:hover,
body:is(.sf-ui, .results-sf) .modal-close:hover,
body:is(.sf-ui, .results-sf) .modal .close:hover,
body:is(.sf-ui, .results-sf) .modal-header .close:hover,
.sf-modal-close:hover {
    background: rgba(0, 229, 255, 0.22) !important;
    color: var(--sf-text-strong) !important;
    border-color: rgba(0, 229, 255, 0.5) !important;
}

/* 弹窗内按钮 */
body:is(.sf-ui, .results-sf) .sf-modal-btn,
body:is(.sf-ui, .results-sf) .modal-btn,
body:is(.sf-ui, .results-sf) .modal .btn:not(.sf-modal-btn-primary):not(.btn-primary):not(.btn-ok),
body:is(.sf-ui, .results-sf) .analyze-btn-secondary,
body:is(.sf-ui, .results-sf) .cancel-btn,
body:is(.sf-ui, .results-sf) .export-modal-footer .cancel-btn,
body:is(.sf-ui, .results-sf) .monitor-export-footer .btn-cancel,
body:is(.sf-ui, .results-sf) .aj-confirm-modal .btn-cancel,
body:is(.sf-ui, .results-sf) .interval-picker-modal .modal-btn-secondary,
body:is(.sf-ui, .results-sf) .logout-confirm-btn-cancel,
body:is(.sf-ui, .results-sf) #arx7k9m-reauth-overlay-root .arx7k9m-btn-cancel {
    background: rgba(8, 28, 48, 0.95) !important;
    border: 1px solid rgba(0, 229, 255, 0.3) !important;
    color: var(--sf-text) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}
body:is(.sf-ui, .results-sf) .sf-modal-btn-primary,
body:is(.sf-ui, .results-sf) .analyze-btn-primary,
body:is(.sf-ui, .results-sf) .info-ok-btn,
body:is(.sf-ui, .results-sf) .export-confirm-btn,
body:is(.sf-ui, .results-sf) .monitor-export-footer .btn-ok,
body:is(.sf-ui, .results-sf) .aj-confirm-modal .btn-ok,
body:is(.sf-ui, .results-sf) .modal .btn-primary,
body:is(.sf-ui, .results-sf) .interval-picker-modal .modal-btn-primary,
body:is(.sf-ui, .results-sf) #arx7k9m-reauth-overlay-root .arx7k9m-btn-confirm {
    background: linear-gradient(135deg, rgba(0, 180, 210, 0.45), rgba(0, 120, 180, 0.55)) !important;
    border: 1px solid var(--sf-cyan) !important;
    color: var(--sf-cyan) !important;
    border-radius: 4px !important;
    box-shadow: 0 0 12px rgba(0, 229, 255, 0.18) !important;
}
body:is(.sf-ui, .results-sf) .sf-modal-btn-danger,
body:is(.sf-ui, .results-sf) .analyze-btn-danger,
body:is(.sf-ui, .results-sf) .modal-btn.delete-btn,
body:is(.sf-ui, .results-sf) .logout-confirm-btn-ok {
    background: rgba(255, 77, 109, 0.22) !important;
    border: 1px solid rgba(255, 77, 109, 0.55) !important;
    color: #ffb3c0 !important;
    border-radius: 4px !important;
}

/* 分析 / 加词 内容区补充 */
body:is(.sf-ui, .results-sf) .analyze-hint {
    color: var(--sf-muted) !important;
}
body:is(.sf-ui, .results-sf) .analyze-tab,
body:is(.sf-ui, .results-sf) .add-filter-tab {
    background: rgba(8, 28, 48, 0.9) !important;
    border: 1px solid rgba(0, 229, 255, 0.25) !important;
    color: var(--sf-text) !important;
}
body:is(.sf-ui, .results-sf) .analyze-tab.active,
body:is(.sf-ui, .results-sf) .add-filter-tab.is-active {
    border-color: var(--sf-cyan) !important;
    color: var(--sf-cyan) !important;
    background: rgba(0, 229, 255, 0.12) !important;
}
body:is(.sf-ui, .results-sf) .add-filter-candidate-chip {
    background: rgba(8, 28, 48, 0.9) !important;
    border-color: rgba(0, 229, 255, 0.25) !important;
    color: var(--sf-text) !important;
}
body:is(.sf-ui, .results-sf) .message.success {
    background: rgba(20, 241, 196, 0.12) !important;
    border: 1px solid rgba(20, 241, 196, 0.35) !important;
    color: #a7f3e0 !important;
}
body:is(.sf-ui, .results-sf) .message.error {
    background: rgba(255, 77, 109, 0.12) !important;
    border: 1px solid rgba(255, 77, 109, 0.35) !important;
    color: #ffb3c0 !important;
}
body:is(.sf-ui, .results-sf) .delete-modal-body strong {
    color: var(--sf-red) !important;
}
body:is(.sf-ui, .results-sf) .warning-text {
    background: rgba(255, 179, 71, 0.12) !important;
    border: 1px solid rgba(255, 179, 71, 0.35) !important;
    color: #e8c48a !important;
}
body:is(.sf-ui, .results-sf) .delete-icon {
    color: var(--sf-red) !important;
}
body:is(.sf-ui, .results-sf) .analyze-field label,
body:is(.sf-ui, .results-sf) .add-filter-candidate-head label,
body:is(.sf-ui, .results-sf) .add-filter-candidate-title label {
    color: var(--sf-muted) !important;
}
body:is(.sf-ui, .results-sf) .analyze-field input[type="text"],
body:is(.sf-ui, .results-sf) .analyze-field textarea,
body:is(.sf-ui, .results-sf) #addFilterWordInput,
body:is(.sf-ui, .results-sf) #addFilterNoteInput,
body:is(.sf-ui, .results-sf) #analyzeSearchText,
body:is(.sf-ui, .results-sf) #analyzeDateFrom,
body:is(.sf-ui, .results-sf) #analyzeDateTo {
    background: rgba(6, 18, 36, 0.95) !important;
    border: 1px solid rgba(0, 229, 255, 0.28) !important;
    color: var(--sf-text) !important;
    border-radius: 4px !important;
}
body:is(.sf-ui, .results-sf) .analyze-field input[type="text"]:focus,
body:is(.sf-ui, .results-sf) .analyze-field textarea:focus,
body:is(.sf-ui, .results-sf) #addFilterWordInput:focus,
body:is(.sf-ui, .results-sf) #addFilterNoteInput:focus {
    border-color: var(--sf-cyan) !important;
    box-shadow: 0 0 0 2px rgba(0, 229, 255, 0.18) !important;
}
body:is(.sf-ui, .results-sf) .analyze-hint,
body:is(.sf-ui, .results-sf) #addFilterSourceHint,
body:is(.sf-ui, .results-sf) #addFilterScopeHint,
body:is(.sf-ui, .results-sf) .add-filter-selected-count {
    color: var(--sf-muted) !important;
}
body:is(.sf-ui, .results-sf) .analyze-check {
    color: #9eb6d0 !important;
    gap: 8px;
}
body:is(.sf-ui, .results-sf) .analyze-check span,
body:is(.sf-ui, .results-sf) #addFilterScopeGlobalLabel,
body:is(.sf-ui, .results-sf) #addFilterScopeCategoryLabel {
    color: #9eb6d0 !important;
    font-weight: 600;
}
body:is(.sf-ui, .results-sf) .analyze-modal-body,
body:is(.sf-ui, .results-sf) .add-filter-candidate-chip .chip-word {
    color: #c5d8ec !important;
}
body:is(.sf-ui, .results-sf) .analyze-field label,
body:is(.sf-ui, .results-sf) .add-filter-candidate-head label,
body:is(.sf-ui, .results-sf) .add-filter-candidate-title label,
body:is(.sf-ui, .results-sf) #addFilterWordInputLabel,
body:is(.sf-ui, .results-sf) #addFilterScopeFieldLabel {
    color: #7f9bb8 !important;
}
/* 单选：深色底 + 青色选中，去掉刺眼白圈（通用 + 分析弹窗） */
body:is(.sf-ui, .results-sf) input[type="radio"]:not(.sf-checkbox),
body:is(.sf-ui, .results-sf) .analyze-check input[type="radio"],
body:is(.sf-ui, .results-sf) .add-filter-scope-options input[type="radio"],
body:is(.sf-ui, .results-sf) .analyze-modal input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 15px;
    height: 15px;
    margin: 0;
    flex-shrink: 0;
    border-radius: 50%;
    border: 1.5px solid rgba(0, 229, 255, 0.45);
    background: rgba(6, 18, 36, 0.95);
    box-shadow: inset 0 0 0 2px rgba(6, 18, 36, 0.95);
    cursor: pointer;
    accent-color: var(--sf-cyan);
}
body:is(.sf-ui, .results-sf) input[type="radio"]:not(.sf-checkbox):hover,
body:is(.sf-ui, .results-sf) .analyze-check input[type="radio"]:hover,
body:is(.sf-ui, .results-sf) .add-filter-scope-options input[type="radio"]:hover,
body:is(.sf-ui, .results-sf) .analyze-modal input[type="radio"]:hover {
    border-color: var(--sf-cyan);
}
body:is(.sf-ui, .results-sf) input[type="radio"]:not(.sf-checkbox):checked,
body:is(.sf-ui, .results-sf) .analyze-check input[type="radio"]:checked,
body:is(.sf-ui, .results-sf) .add-filter-scope-options input[type="radio"]:checked,
body:is(.sf-ui, .results-sf) .analyze-modal input[type="radio"]:checked {
    border-color: var(--sf-cyan);
    background: radial-gradient(circle at center, var(--sf-cyan) 0 38%, transparent 42%),
                rgba(6, 18, 36, 0.95);
    box-shadow: 0 0 8px rgba(0, 229, 255, 0.35);
}
body:is(.sf-ui, .results-sf) .add-filter-tabs {
    background: rgba(6, 18, 36, 0.92) !important;
    border: 1px solid rgba(0, 229, 255, 0.28) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    padding: 5px !important;
}
body:is(.sf-ui, .results-sf) .analyze-tab,
body:is(.sf-ui, .results-sf) .add-filter-tab {
    background: transparent !important;
    border: 1px solid transparent !important;
    color: var(--sf-muted) !important;
    box-shadow: none !important;
}
body:is(.sf-ui, .results-sf) .analyze-all-btn {
    background: rgba(6, 18, 36, 0.9) !important;
    border: 1px solid rgba(0, 229, 255, 0.35) !important;
    border-radius: 6px !important;
    color: var(--sf-text) !important;
    box-shadow: none !important;
    min-width: 64px;
}
body:is(.sf-ui, .results-sf) .analyze-all-btn:hover {
    border-color: var(--sf-cyan) !important;
    color: var(--sf-cyan) !important;
    background: rgba(0, 229, 255, 0.1) !important;
}
body:is(.sf-ui, .results-sf) .add-filter-tab:hover,
body:is(.sf-ui, .results-sf) .analyze-tab:hover {
    background: rgba(0, 229, 255, 0.08) !important;
    color: var(--sf-text) !important;
}
body:is(.sf-ui, .results-sf) .analyze-tab.active,
body:is(.sf-ui, .results-sf) .add-filter-tab.is-active,
body:is(.sf-ui, .results-sf) .add-filter-tab.is-active:hover,
body:is(.sf-ui, .results-sf) .analyze-all-btn.is-active {
    border-color: rgba(0, 229, 255, 0.55) !important;
    background: rgba(0, 229, 255, 0.16) !important;
    color: var(--sf-cyan) !important;
    box-shadow: 0 0 10px rgba(0, 229, 255, 0.18) !important;
}
body:is(.sf-ui, .results-sf) #analyzeDateRow.is-disabled .analyze-field input {
    background: rgba(6, 18, 36, 0.55) !important;
    color: var(--sf-muted) !important;
    border-color: rgba(0, 229, 255, 0.15) !important;
}
body:is(.sf-ui, .results-sf) .analyze-date-btn {
    background: rgba(0, 229, 255, 0.12) !important;
    color: var(--sf-cyan) !important;
}
body:is(.sf-ui, .results-sf) .analyze-date-btn:hover {
    background: rgba(0, 229, 255, 0.22) !important;
}
body:is(.sf-ui, .results-sf) .analyze-preview {
    background: rgba(0, 229, 255, 0.08) !important;
    color: var(--sf-text) !important;
    border: 1px solid rgba(0, 229, 255, 0.2);
}
body:is(.sf-ui, .results-sf) .analyze-preview.warn {
    background: rgba(255, 179, 71, 0.12) !important;
    color: #ffe0a8 !important;
    border-color: rgba(255, 179, 71, 0.35);
}
body:is(.sf-ui, .results-sf) .analyze-preview.ok {
    background: rgba(20, 241, 196, 0.12) !important;
    color: #a7f3e0 !important;
    border-color: rgba(20, 241, 196, 0.35);
}
body:is(.sf-ui, .results-sf) .add-filter-candidate-chips {
    background: transparent !important;
}
body:is(.sf-ui, .results-sf) .add-filter-candidate-chip {
    background: rgba(8, 28, 48, 0.95) !important;
    border: 1px solid rgba(0, 229, 255, 0.28) !important;
    color: var(--sf-text) !important;
}
body:is(.sf-ui, .results-sf) .add-filter-candidate-chip:hover,
body:is(.sf-ui, .results-sf) .add-filter-candidate-chip.active {
    border-color: var(--sf-cyan) !important;
    background: rgba(0, 229, 255, 0.14) !important;
    color: #e8f7ff !important;
}
body:is(.sf-ui, .results-sf) .add-filter-candidate-chip .chip-src {
    background: rgba(0, 229, 255, 0.15) !important;
    color: var(--sf-cyan) !important;
}
body:is(.sf-ui, .results-sf) .add-filter-candidate-chip.source-title .chip-src {
    background: rgba(77, 184, 255, 0.18) !important;
    color: var(--sf-blue) !important;
}
body:is(.sf-ui, .results-sf) .add-filter-candidate-chip.source-content .chip-src {
    background: rgba(255, 179, 71, 0.18) !important;
    color: var(--sf-amber) !important;
}
body:is(.sf-ui, .results-sf) .add-filter-candidate-chip.source-keyword .chip-src {
    background: rgba(127, 155, 184, 0.25) !important;
    color: var(--sf-muted) !important;
}
body:is(.sf-ui, .results-sf) .add-filter-remove-selected {
    background: rgba(8, 28, 48, 0.9) !important;
    border: 1px solid rgba(0, 229, 255, 0.3) !important;
    color: var(--sf-text) !important;
}
body:is(.sf-ui, .results-sf) .add-filter-remove-selected:hover:not(:disabled) {
    border-color: var(--sf-cyan) !important;
    color: var(--sf-cyan) !important;
}
body:is(.sf-ui, .results-sf) .analyze-btn-secondary {
    background: rgba(8, 28, 48, 0.95) !important;
    border: 1px solid rgba(0, 229, 255, 0.3) !important;
    color: var(--sf-text) !important;
}
body:is(.sf-ui, .results-sf) .analyze-btn-primary {
    background: linear-gradient(135deg, rgba(0, 180, 210, 0.45), rgba(0, 120, 180, 0.55)) !important;
    border: 1px solid var(--sf-cyan) !important;
    color: var(--sf-text-strong) !important;
}
body:is(.sf-ui, .results-sf) .analyze-btn-danger {
    background: rgba(255, 77, 109, 0.22) !important;
    border: 1px solid rgba(255, 77, 109, 0.55) !important;
    color: #ffb3c0 !important;
}

/* —— 导出弹窗深色 —— */
body:is(.sf-ui, .results-sf) .export-modal {
    background: rgba(10, 22, 38, 0.98) !important;
    border: 1px solid var(--sf-border) !important;
    color: var(--sf-text) !important;
    box-shadow: 0 0 40px rgba(0, 229, 255, 0.16) !important;
}
body:is(.sf-ui, .results-sf) .export-modal-header {
    background: linear-gradient(135deg, rgba(8, 40, 64, 0.98), rgba(6, 28, 48, 0.96)) !important;
    border-bottom: 1px solid rgba(0, 229, 255, 0.22) !important;
}
body:is(.sf-ui, .results-sf) .export-modal-header h3 {
    color: var(--sf-cyan) !important;
    font-family: 'Orbitron', sans-serif;
}
body:is(.sf-ui, .results-sf) .export-modal-body > p {
    color: var(--sf-muted) !important;
}
body:is(.sf-ui, .results-sf) .export-format-btn {
    background: rgba(8, 28, 48, 0.95) !important;
    border: 1px solid rgba(0, 229, 255, 0.28) !important;
    color: var(--sf-text) !important;
}
body:is(.sf-ui, .results-sf) .export-format-btn:hover {
    border-color: var(--sf-cyan) !important;
    box-shadow: 0 0 16px rgba(0, 229, 255, 0.2) !important;
    background: rgba(0, 229, 255, 0.1) !important;
}
body:is(.sf-ui, .results-sf) .export-result-card {
    background: rgba(8, 28, 48, 0.95) !important;
    border: 1px solid rgba(0, 229, 255, 0.22) !important;
    color: var(--sf-text) !important;
}
body:is(.sf-ui, .results-sf) .export-modal-footer .cancel-btn,
body:is(.sf-ui, .results-sf) .export-modal.is-password .cancel-btn {
    background: rgba(8, 28, 48, 0.95) !important;
    border: 1px solid rgba(0, 229, 255, 0.3) !important;
    color: var(--sf-text) !important;
}
body:is(.sf-ui, .results-sf) .export-modal.is-password .export-modal-header,
body:is(.sf-ui, .results-sf) .export-modal.is-password .export-modal-body,
body:is(.sf-ui, .results-sf) .export-modal.is-password .export-modal-footer {
    background: transparent !important;
}
body:is(.sf-ui, .results-sf) .export-modal.is-password .export-modal-header h3 {
    color: var(--sf-cyan) !important;
}
body:is(.sf-ui, .results-sf) .export-modal.is-password .export-modal-body > p,
body:is(.sf-ui, .results-sf) .export-password-wrap label {
    color: var(--sf-muted) !important;
}
body:is(.sf-ui, .results-sf) .export-password-wrap input {
    background: rgba(6, 18, 36, 0.95) !important;
    border: 1px solid rgba(0, 229, 255, 0.28) !important;
    color: var(--sf-text) !important;
}
body:is(.sf-ui, .results-sf) .export-password-wrap input:focus {
    border-color: var(--sf-cyan) !important;
    box-shadow: 0 0 0 2px rgba(0, 229, 255, 0.18) !important;
}
body:is(.sf-ui, .results-sf) .export-format-btn:hover,
body:is(.sf-ui, .results-sf) .export-format-btn.csv:hover,
body:is(.sf-ui, .results-sf) .export-format-btn.xlsx:hover,
body:is(.sf-ui, .results-sf) .export-format-btn.zip:hover {
    background: rgba(0, 229, 255, 0.1) !important;
}
body:is(.sf-ui, .results-sf) .export-confirm-btn,
body:is(.sf-ui, .results-sf) .export-modal.is-password .export-confirm-btn {
    background: linear-gradient(135deg, rgba(0, 180, 210, 0.45), rgba(0, 120, 180, 0.55)) !important;
    border: 1px solid var(--sf-cyan) !important;
    color: var(--sf-text-strong) !important;
}

/* 删除/信息弹窗细节已并入上方「弹窗公用」 */

/* —— 导出时间段 / 进度 / 结果 —— */
body:is(.sf-ui, .results-sf) .export-section-title {
    color: var(--sf-cyan) !important;
}
body:is(.sf-ui, .results-sf) .export-time-btn {
    background: rgba(8, 28, 48, 0.95) !important;
    border: 1px solid rgba(0, 229, 255, 0.28) !important;
    color: var(--sf-text) !important;
}
body:is(.sf-ui, .results-sf) .export-time-btn:hover,
body:is(.sf-ui, .results-sf) .export-time-btn.selected {
    border-color: var(--sf-cyan) !important;
    background: rgba(0, 229, 255, 0.14) !important;
    color: var(--sf-cyan) !important;
    box-shadow: 0 0 12px rgba(0, 229, 255, 0.18) !important;
}
body:is(.sf-ui, .results-sf) .export-time-btn .time-desc {
    color: var(--sf-muted) !important;
}
body:is(.sf-ui, .results-sf) .export-format-btn.selected,
body:is(.sf-ui, .results-sf) .export-format-btn.csv.selected,
body:is(.sf-ui, .results-sf) .export-format-btn.xlsx.selected,
body:is(.sf-ui, .results-sf) .export-format-btn.zip.selected {
    border-color: var(--sf-cyan) !important;
    background: rgba(0, 229, 255, 0.14) !important;
    color: var(--sf-cyan) !important;
}
body:is(.sf-ui, .results-sf) .export-progress-list li {
    background: rgba(8, 28, 48, 0.9) !important;
    color: var(--sf-muted) !important;
    border: 1px solid rgba(0, 229, 255, 0.15);
}
body:is(.sf-ui, .results-sf) .export-progress-list li .step-dot {
    border-color: rgba(0, 229, 255, 0.35) !important;
    color: var(--sf-muted) !important;
}
body:is(.sf-ui, .results-sf) .export-progress-list li.active {
    background: rgba(0, 229, 255, 0.1) !important;
    color: var(--sf-text-strong) !important;
}
body:is(.sf-ui, .results-sf) .export-progress-list li.active .step-dot {
    border-color: var(--sf-cyan) !important;
    color: var(--sf-cyan) !important;
}
body:is(.sf-ui, .results-sf) .export-progress-list li.done {
    background: rgba(20, 241, 196, 0.1) !important;
    color: var(--sf-teal) !important;
}
body:is(.sf-ui, .results-sf) .export-progress-list li.done .step-dot {
    border-color: var(--sf-teal) !important;
    background: rgba(20, 241, 196, 0.35) !important;
    color: #042f2e !important;
}
body:is(.sf-ui, .results-sf) .export-progress-list li.error {
    background: rgba(255, 77, 109, 0.12) !important;
    color: #ffb3c0 !important;
}
body:is(.sf-ui, .results-sf) .export-progress-note,
body:is(.sf-ui, .results-sf) .export-result-tip,
body:is(.sf-ui, .results-sf) .export-result-card .result-label {
    color: var(--sf-muted) !important;
}
body:is(.sf-ui, .results-sf) .export-result-card .result-name {
    color: var(--sf-text-strong) !important;
}
body:is(.sf-ui, .results-sf) .export-result-card .result-tag {
    background: rgba(8, 28, 48, 0.95) !important;
    border: 1px solid rgba(0, 229, 255, 0.3) !important;
    color: var(--sf-cyan) !important;
}
body:is(.sf-ui, .results-sf) .export-password-error {
    color: #ffb3c0 !important;
}

/* —— 自定义下拉（清空范围） —— */
body:is(.sf-ui, .results-sf) .sf-select {
    position: relative;
    display: inline-block;
    min-width: 168px;
    vertical-align: middle;
    z-index: 5;
}
body:is(.sf-ui, .results-sf) .sf-select.is-open {
    z-index: 40;
}
body:is(.sf-ui, .results-sf) .sf-select-trigger {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 12px;
    font-size: 14px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    background: rgba(6, 18, 36, 0.95) !important;
    border: 1px solid rgba(0, 229, 255, 0.3) !important;
    border-radius: 4px !important;
    color: var(--sf-text) !important;
    box-shadow: none !important;
    line-height: 1.3;
}
body:is(.sf-ui, .results-sf) .sf-select.is-open .sf-select-trigger,
body:is(.sf-ui, .results-sf) .sf-select-trigger:hover {
    border-color: var(--sf-cyan) !important;
    color: var(--sf-cyan) !important;
}
body:is(.sf-ui, .results-sf) .sf-select-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
body:is(.sf-ui, .results-sf) .sf-select-caret {
    flex-shrink: 0;
    color: var(--sf-cyan);
    font-size: 11px;
    opacity: 0.85;
    transition: transform 0.15s ease;
}
body:is(.sf-ui, .results-sf) .sf-select.is-open .sf-select-caret {
    transform: rotate(180deg);
}
body:is(.sf-ui, .results-sf) .sf-select-menu,
.sf-select-menu {
    position: fixed;
    width: max-content;
    min-width: 0;
    max-width: none;
    max-height: 280px;
    overflow: auto;
    padding: 6px;
    box-sizing: border-box;
    background: rgba(8, 18, 32, 0.98) !important;
    border: 1px solid rgba(0, 229, 255, 0.35) !important;
    border-radius: 6px !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45), 0 0 18px rgba(0, 229, 255, 0.12) !important;
    z-index: 20000;
}
body:is(.sf-ui, .results-sf) .sf-select-option {
    display: block;
    width: auto;
    min-width: 100%;
    text-align: left;
    padding: 9px 12px;
    margin: 0;
    border: 1px solid transparent;
    border-radius: 4px;
    background: transparent !important;
    color: var(--sf-text) !important;
    font-size: 13px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    line-height: 1.35;
    white-space: nowrap;
}
body:is(.sf-ui, .results-sf) .sf-select-option:hover {
    background: rgba(0, 229, 255, 0.1) !important;
    border-color: rgba(0, 229, 255, 0.25) !important;
    color: var(--sf-cyan) !important;
}
body:is(.sf-ui, .results-sf) .sf-select-option.is-active {
    background: rgba(0, 229, 255, 0.16) !important;
    border-color: rgba(0, 229, 255, 0.4) !important;
    color: var(--sf-cyan) !important;
}
body:is(.sf-ui, .results-sf) .sf-select-option.is-active::before {
    content: '✓ ';
    color: var(--sf-teal);
}

/* —— 下拉选择 / 分页条数 / 弹窗表单 —— */
body:is(.sf-ui, .results-sf) select,
body:is(.sf-ui, .results-sf) #clearTimeRange,
body:is(.sf-ui, .results-sf) .pagination-per-page select,
body:is(.sf-ui, .results-sf) .filter-group select,
body:is(.sf-ui, .results-sf) .form-group select,
body:is(.sf-ui, .results-sf) .modal select,
body:is(.sf-ui, .results-sf) .sf-modal select,
body:is(.sf-ui, .results-sf) #editModal select,
body:is(.sf-ui, .results-sf) .monitor-cookie-shared-field select {
    background: rgba(6, 18, 36, 0.95) !important;
    border: 1px solid rgba(0, 229, 255, 0.3) !important;
    color: var(--sf-text) !important;
    border-radius: 4px !important;
    outline: none !important;
    box-shadow: none !important;
    color-scheme: dark;
}
body:is(.sf-ui, .results-sf) select:hover,
body:is(.sf-ui, .results-sf) select:focus,
body:is(.sf-ui, .results-sf) #clearTimeRange:focus,
body:is(.sf-ui, .results-sf) .pagination-per-page select:focus,
body:is(.sf-ui, .results-sf) .modal select:focus,
body:is(.sf-ui, .results-sf) #editModal select:focus,
body:is(.sf-ui, .results-sf) .monitor-cookie-shared-field select:focus {
    border-color: var(--sf-cyan) !important;
    box-shadow: 0 0 0 2px rgba(0, 229, 255, 0.16) !important;
}
body:is(.sf-ui, .results-sf) select option,
body:is(.sf-ui, .results-sf) #clearTimeRange option {
    background: #0c1424;
    color: #9eb6d0;
}
body:is(.sf-ui, .results-sf) .pagination-per-page .per-page-custom input {
    background: rgba(6, 18, 36, 0.95) !important;
    border: 1px solid rgba(0, 229, 255, 0.3) !important;
    color: var(--sf-text) !important;
}

/* 间隔选择触发器（类 sf-select 外观） */
body:is(.sf-ui, .results-sf) .interval-picker-trigger {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 12px;
    font-size: 13px;
    font-weight: 600;
    font-family: inherit;
    line-height: 1.3;
    text-align: left;
    cursor: pointer;
    box-sizing: border-box;
    background: rgba(6, 18, 36, 0.95) !important;
    border: 1px solid rgba(0, 229, 255, 0.3) !important;
    border-radius: 4px !important;
    color: var(--sf-text) !important;
    box-shadow: none !important;
}
body:is(.sf-ui, .results-sf) .interval-picker-trigger:hover {
    border-color: var(--sf-cyan) !important;
    color: var(--sf-cyan) !important;
    background: rgba(0, 229, 255, 0.08) !important;
}
body:is(.sf-ui, .results-sf) .interval-picker-trigger .picker-label {
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: inherit !important;
}
body:is(.sf-ui, .results-sf) .interval-picker-trigger .picker-arrow {
    flex-shrink: 0;
    color: var(--sf-cyan) !important;
    font-size: 11px;
    opacity: 0.85;
}
body:is(.sf-ui, .results-sf) .interval-option-btn {
    display: block;
    width: 100%;
    padding: 7px 4px;
    border: 1px solid rgba(0, 229, 255, 0.28) !important;
    border-radius: 4px !important;
    background: rgba(8, 28, 48, 0.95) !important;
    color: var(--sf-text) !important;
    font-size: 12px;
    cursor: pointer;
    text-align: center;
    line-height: 1.25;
    white-space: nowrap;
    font-family: inherit;
}
body:is(.sf-ui, .results-sf) .interval-option-btn:hover {
    border-color: var(--sf-cyan) !important;
    background: rgba(0, 229, 255, 0.1) !important;
    color: var(--sf-cyan) !important;
}
body:is(.sf-ui, .results-sf) .interval-option-btn.active {
    border-color: var(--sf-cyan) !important;
    background: rgba(0, 229, 255, 0.22) !important;
    color: var(--sf-cyan) !important;
    font-weight: 600;
}

/* 选项 pill（监控类型等单选） */
body:is(.sf-ui, .results-sf) .choice-pill {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    padding: 6px 12px;
    border: 1px solid rgba(0, 229, 255, 0.28) !important;
    border-radius: 16px !important;
    background: rgba(8, 28, 48, 0.9) !important;
    color: var(--sf-text) !important;
    box-sizing: border-box;
    margin: 0;
    font-weight: 500 !important;
    transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}
body:is(.sf-ui, .results-sf) .choice-pill:hover {
    border-color: var(--sf-cyan) !important;
    background: rgba(0, 229, 255, 0.08) !important;
    color: var(--sf-cyan) !important;
    font-weight: 500 !important;
}
body:is(.sf-ui, .results-sf) .choice-pill:has(input[type="radio"]:checked),
body:is(.sf-ui, .results-sf) .choice-pill:has(input[type="radio"]:checked):hover {
    border-color: var(--sf-cyan) !important;
    background: rgba(0, 229, 255, 0.14) !important;
    color: var(--sf-cyan) !important;
    font-weight: 500 !important;
}
body:is(.sf-ui, .results-sf) .choice-pill > span {
    font-weight: 500 !important;
}
body:is(.sf-ui, .results-sf) .choice-pill input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 16px;
    height: 16px;
    min-width: 16px;
    max-width: 16px;
    padding: 0;
    border: 1px solid rgba(0, 229, 255, 0.45) !important;
    border-radius: 50%;
    margin: 0 6px 0 0;
    position: relative;
    cursor: pointer;
    background: rgba(6, 18, 36, 0.95) !important;
    box-sizing: border-box;
    flex-shrink: 0;
    box-shadow: none !important;
}
body:is(.sf-ui, .results-sf) .choice-pill input[type="radio"]::before {
    content: none !important;
    display: none !important;
}
body:is(.sf-ui, .results-sf) .choice-pill input[type="radio"]::after {
    content: none !important;
    display: none !important;
}
body:is(.sf-ui, .results-sf) .choice-pill input[type="radio"]:checked {
    border-color: var(--sf-cyan) !important;
    background: rgba(6, 18, 36, 0.95) !important;
    box-shadow: none !important;
}
/* 选中：青色实心点（不用黑点，居中固定尺寸） */
body:is(.sf-ui, .results-sf) .choice-pill input[type="radio"]:checked::after {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 7px !important;
    height: 7px !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 50% !important;
    background: var(--sf-cyan) !important;
    box-shadow: none !important;
    transform: translate(-50%, -50%) !important;
}

/* 地区格子（编辑弹窗省份/城市） */
body:is(.sf-ui, .results-sf) .edit-province-item,
body:is(.sf-ui, .results-sf) .edit-city-item {
    background: rgba(8, 28, 48, 0.9) !important;
    border: 1px solid rgba(0, 229, 255, 0.25) !important;
    color: var(--sf-text) !important;
    border-radius: 4px !important;
}
body:is(.sf-ui, .results-sf) .edit-province-item:hover,
body:is(.sf-ui, .results-sf) .edit-city-item:hover {
    border-color: var(--sf-cyan) !important;
    background: rgba(0, 229, 255, 0.1) !important;
    color: var(--sf-cyan) !important;
}
body:is(.sf-ui, .results-sf) .edit-province-item.selected,
body:is(.sf-ui, .results-sf) .edit-city-item.selected {
    border-color: var(--sf-cyan) !important;
    background: rgba(0, 229, 255, 0.18) !important;
    color: var(--sf-cyan) !important;
}

/* 公用复选框（卡片勾选 / 列表勾选） */
body:is(.sf-ui, .results-sf) input.sf-checkbox,
body:is(.sf-ui, .results-sf) input.website-checkbox,
body:is(.sf-ui, .results-sf) input.keyword-checkbox,
body:is(.sf-ui, .results-sf) input.result-checkbox,
body:is(.sf-ui, .results-sf) .card-checkbox input[type="checkbox"],
body:is(.sf-ui, .results-sf) .list-checkbox input[type="checkbox"],
body:is(.sf-ui, .results-sf) .wd-results-check input[type="checkbox"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 14px !important;
    height: 14px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    box-sizing: border-box;
    border-radius: 2px !important;
    border: 1.5px solid rgba(0, 229, 255, 0.5) !important;
    background: rgba(6, 18, 36, 0.95) !important;
    cursor: pointer;
    accent-color: var(--sf-cyan);
    flex-shrink: 0;
    vertical-align: middle;
    box-shadow: none !important;
}
body:is(.sf-ui, .results-sf) input.sf-checkbox:hover,
body:is(.sf-ui, .results-sf) input.website-checkbox:hover,
body:is(.sf-ui, .results-sf) input.keyword-checkbox:hover,
body:is(.sf-ui, .results-sf) input.result-checkbox:hover,
body:is(.sf-ui, .results-sf) .card-checkbox input[type="checkbox"]:hover {
    border-color: var(--sf-cyan) !important;
}
body:is(.sf-ui, .results-sf) input.sf-checkbox:checked,
body:is(.sf-ui, .results-sf) input.website-checkbox:checked,
body:is(.sf-ui, .results-sf) input.keyword-checkbox:checked,
body:is(.sf-ui, .results-sf) input.result-checkbox:checked,
body:is(.sf-ui, .results-sf) .card-checkbox input[type="checkbox"]:checked,
body:is(.sf-ui, .results-sf) .wd-results-check input[type="checkbox"]:checked {
    background: var(--sf-cyan) !important;
    border-color: var(--sf-cyan) !important;
    box-shadow: inset 0 0 0 2.5px rgba(6, 18, 36, 0.98) !important;
}
/* 全选按钮：默认普通；全选完高亮 */
body:is(.sf-ui, .results-sf) .sf-btn.is-all-selected,
body:is(.sf-ui, .results-sf) #selectAllKeywordsBtn.is-all-selected,
body:is(.sf-ui, .results-sf) #selectAllResultsBtn.is-all-selected {
    background: linear-gradient(135deg, rgba(255, 179, 71, 0.28), rgba(200, 120, 40, 0.35)) !important;
    border-color: rgba(255, 179, 71, 0.55) !important;
    color: #ffe0a8 !important;
    box-shadow: 0 0 12px rgba(255, 179, 71, 0.18) !important;
}

/* 启用 / 禁用 pill 前置勾（替代 emoji） */
body:is(.sf-ui, .results-sf) .status-pill {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
}
body:is(.sf-ui, .results-sf) .status-pill::before {
    content: '';
    width: 12px;
    height: 12px;
    flex-shrink: 0;
    box-sizing: border-box;
    border-radius: 2px;
    border: 1.5px solid rgba(0, 229, 255, 0.5);
    background: rgba(6, 18, 36, 0.95);
}
body:is(.sf-ui, .results-sf) .status-pill.is-active::before {
    border-color: rgba(20, 241, 196, 0.7);
    background: var(--sf-teal, #14f1c4);
    box-shadow: inset 0 0 0 2px rgba(6, 18, 36, 0.98);
}
body:is(.sf-ui, .results-sf) .status-pill.is-inactive::before {
    border-color: rgba(255, 77, 109, 0.65);
    background: rgba(8, 18, 32, 0.95);
    box-shadow: none;
}

/* =========================================================
 * 开关公用 .sf-toggle（兼容 .status-toggle）
 * 结构：
 * <div class="sf-toggle-row">
 *   <label class="sf-toggle" for="xxx">
 *     <input type="checkbox" id="xxx">
 *     <span class="track"></span><span class="thumb"></span>
 *   </label>
 *   <div class="sf-toggle-help is-active|is-inactive">说明</div>
 * </div>
 * ========================================================= */
.sf-toggle,
.sf-toggle.status-toggle,
body:is(.sf-ui, .results-sf) .sf-toggle,
body:is(.sf-ui, .results-sf) .status-toggle {
    --sf-toggle-w: 56px;
    --sf-toggle-h: 26px;
    --sf-toggle-thumb: 20px;
    --sf-toggle-pad: 3px;
    --sf-toggle-shift: 30px;
    position: relative;
    display: inline-block;
    width: var(--sf-toggle-w) !important;
    height: var(--sf-toggle-h) !important;
    cursor: pointer;
    flex-shrink: 0;
    vertical-align: middle;
    user-select: none;
}
.sf-toggle input,
body:is(.sf-ui, .results-sf) .sf-toggle input,
body:is(.sf-ui, .results-sf) .status-toggle input {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    pointer-events: none;
}
.sf-toggle .track,
body:is(.sf-ui, .results-sf) .sf-toggle .track,
body:is(.sf-ui, .results-sf) .status-toggle .track {
    position: absolute;
    inset: 0;
    border-radius: 999px;
    background: rgba(255, 77, 109, 0.42) !important;
    border: 1px solid rgba(255, 77, 109, 0.5) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 77, 109, 0.15) !important;
    transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.sf-toggle .track::after,
body:is(.sf-ui, .results-sf) .sf-toggle .track::after,
body:is(.sf-ui, .results-sf) .status-toggle .track::after {
    content: '停用';
    position: absolute;
    right: 7px !important;
    left: auto !important;
    top: 50%;
    transform: translateY(-50%);
    color: #ffd0d8 !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    letter-spacing: 0.5px;
    line-height: 1;
    font-family: var(--sf-font, 'Rajdhani', sans-serif);
}
.sf-toggle .thumb,
body:is(.sf-ui, .results-sf) .sf-toggle .thumb,
body:is(.sf-ui, .results-sf) .status-toggle .thumb {
    position: absolute;
    top: var(--sf-toggle-pad);
    left: var(--sf-toggle-pad);
    width: var(--sf-toggle-thumb) !important;
    height: var(--sf-toggle-thumb) !important;
    border-radius: 50%;
    background: rgba(232, 244, 255, 0.96) !important;
    box-shadow: 0 0 8px rgba(0, 229, 255, 0.22) !important;
    transition: transform 0.2s ease;
}
.sf-toggle input:checked + .track,
body:is(.sf-ui, .results-sf) .sf-toggle input:checked + .track,
body:is(.sf-ui, .results-sf) .status-toggle input:checked + .track {
    background: rgba(20, 241, 196, 0.38) !important;
    border-color: rgba(20, 241, 196, 0.55) !important;
    box-shadow: inset 0 0 0 1px rgba(20, 241, 196, 0.2), 0 0 10px rgba(20, 241, 196, 0.18) !important;
}
.sf-toggle input:checked + .track::after,
body:is(.sf-ui, .results-sf) .sf-toggle input:checked + .track::after,
body:is(.sf-ui, .results-sf) .status-toggle input:checked + .track::after {
    content: '启用';
    left: 7px !important;
    right: auto !important;
    color: #d8fff6 !important;
}
.sf-toggle input:checked ~ .thumb,
body:is(.sf-ui, .results-sf) .sf-toggle input:checked ~ .thumb,
body:is(.sf-ui, .results-sf) .status-toggle input:checked ~ .thumb {
    transform: translateX(var(--sf-toggle-shift)) !important;
}
.sf-toggle-row,
body:is(.sf-ui, .results-sf) .sf-toggle-row,
body:is(.sf-ui, .results-sf) .status-toggle-row {
    display: flex;
    align-items: center;
    gap: 10px;
}
.sf-toggle-help,
body:is(.sf-ui, .results-sf) .sf-toggle-help,
body:is(.sf-ui, .results-sf) .status-toggle-help {
    flex: 1;
    min-width: 0;
    color: var(--sf-muted) !important;
    font-size: 12px;
    line-height: 1.4;
}
.sf-toggle-help.is-active,
body:is(.sf-ui, .results-sf) .sf-toggle-help.is-active,
body:is(.sf-ui, .results-sf) .status-toggle-help.is-active {
    color: #a7f3e0 !important;
}
.sf-toggle-help.is-inactive,
body:is(.sf-ui, .results-sf) .sf-toggle-help.is-inactive,
body:is(.sf-ui, .results-sf) .status-toggle-help.is-inactive {
    color: #ffb3c0 !important;
}
/* 更小一档：.sf-toggle--sm */
.sf-toggle.sf-toggle--sm,
body:is(.sf-ui, .results-sf) .sf-toggle.sf-toggle--sm {
    --sf-toggle-w: 50px;
    --sf-toggle-h: 24px;
    --sf-toggle-thumb: 18px;
    --sf-toggle-pad: 3px;
    --sf-toggle-shift: 26px;
}
.sf-toggle.sf-toggle--sm .track::after {
    font-size: 9px;
    right: 6px;
    letter-spacing: 0;
}
.sf-toggle.sf-toggle--sm input:checked + .track::after {
    left: 6px;
}

/* Cookie 字段（弹窗内共享预设下拉 / 模式页签） */
body:is(.sf-ui, .results-sf) .monitor-cookie-shared-field .cookie-toggle-label,
body:is(.sf-ui, .results-sf) .monitor-cookie-shared-field .cookie-mode-body label.cookie-field-label {
    color: var(--sf-muted) !important;
}
body:is(.sf-ui, .results-sf) .monitor-cookie-shared-field .cookie-mode-tab {
    background: rgba(8, 28, 48, 0.9) !important;
    border: 1px solid rgba(0, 229, 255, 0.28) !important;
    color: var(--sf-text) !important;
    box-shadow: none !important;
}
body:is(.sf-ui, .results-sf) .monitor-cookie-shared-field .cookie-mode-tab:hover {
    border-color: var(--sf-cyan) !important;
    background: rgba(0, 229, 255, 0.08) !important;
}
body:is(.sf-ui, .results-sf) .monitor-cookie-shared-field .cookie-mode-tab.is-active {
    border-color: var(--sf-cyan) !important;
    background: rgba(0, 229, 255, 0.14) !important;
    color: var(--sf-cyan) !important;
    box-shadow: 0 0 12px rgba(0, 229, 255, 0.12) !important;
}
body:is(.sf-ui, .results-sf) .monitor-cookie-shared-field .cookie-mode-tab .mode-desc,
body:is(.sf-ui, .results-sf) .monitor-cookie-shared-field .cookie-mode-tab.is-active .mode-desc,
body:is(.sf-ui, .results-sf) .monitor-cookie-shared-field .cookie-hint-inline,
body:is(.sf-ui, .results-sf) .monitor-cookie-shared-field .cookie-hint,
body:is(.sf-ui, .results-sf) .monitor-cookie-shared-field .cookie-help {
    color: var(--sf-muted) !important;
}
body:is(.sf-ui, .results-sf) .monitor-cookie-shared-field .cookie-mode-body {
    background: rgba(8, 18, 32, 0.9) !important;
    border: 1px solid rgba(0, 229, 255, 0.2) !important;
}
body:is(.sf-ui, .results-sf) .monitor-cookie-shared-field .cookie-mode-body .cookie-textarea {
    background: rgba(6, 18, 36, 0.95) !important;
    border: 1px solid rgba(0, 229, 255, 0.28) !important;
    color: var(--sf-text) !important;
}
body:is(.sf-ui, .results-sf) .monitor-cookie-shared-field .cookie-manage-link {
    color: var(--sf-cyan) !important;
}
body:is(.sf-ui, .results-sf) .monitor-cookie-shared-field .cookie-preset-select-wrap select.is-inactive {
    border-color: rgba(255, 179, 71, 0.55) !important;
    background: rgba(255, 179, 71, 0.12) !important;
    color: #ffe0a8 !important;
}
body:is(.sf-ui, .results-sf) .monitor-cookie-shared-field .cookie-inactive-status {
    color: #ffe0a8 !important;
}

/* 编辑弹窗：分隔线 / 提示条 / 已选地区（禁止浅色线） */
body:is(.sf-ui, .results-sf) .sf-divider-block,
body:is(.sf-ui, .results-sf) .modal [style*="border-top: 1px solid #e0e0e0"],
body:is(.sf-ui, .results-sf) .modal [style*="border-top:1px solid #e0e0e0"],
body:is(.sf-ui, .results-sf) .modal [style*="border-top: 1px solid #eee"],
body:is(.sf-ui, .results-sf) .modal [style*="border-top:1px solid #eee"],
body:is(.sf-ui, .results-sf) .sf-modal-footer[style*="border-top"] {
    border-top: 1px solid rgba(0, 229, 255, 0.2) !important;
}
/* 深度处理上方不要分隔线 */
body:is(.sf-ui, .results-sf) #editDeepScrapeBlock {
    border-top: none !important;
}
body:is(.sf-ui, .results-sf) .sf-hint-box,
body:is(.sf-ui, .results-sf) .modal [style*="background: #fff3cd"],
body:is(.sf-ui, .results-sf) .modal [style*="background:#fff3cd"] {
    background: rgba(255, 179, 71, 0.1) !important;
    border: 1px solid rgba(255, 179, 71, 0.35) !important;
    color: #e8c48a !important;
    border-radius: 4px !important;
}
body:is(.sf-ui, .results-sf) .sf-panel-block,
body:is(.sf-ui, .results-sf) .modal [style*="background: #fafbfc"],
body:is(.sf-ui, .results-sf) .modal [style*="background:#fafbfc"] {
    background: rgba(8, 18, 32, 0.9) !important;
    border: 1px solid rgba(0, 229, 255, 0.2) !important;
    color: var(--sf-text) !important;
}
body:is(.sf-ui, .results-sf) #editSelectedRegion,
body:is(.sf-ui, .results-sf) .sf-selected-chip,
body:is(.sf-ui, .results-sf) .modal [style*="background: #e8f5e8"],
body:is(.sf-ui, .results-sf) .modal [style*="background:#e8f5e8"] {
    background: rgba(20, 241, 196, 0.12) !important;
    border: 1px solid rgba(20, 241, 196, 0.35) !important;
    color: #a7f3e0 !important;
}
body:is(.sf-ui, .results-sf) #editSelectedRegion button,
body:is(.sf-ui, .results-sf) .sf-selected-chip button {
    background: rgba(255, 77, 109, 0.22) !important;
    border: 1px solid rgba(255, 77, 109, 0.45) !important;
    color: #ffb3c0 !important;
}
body:is(.sf-ui, .results-sf) .sf-select.is-inactive .sf-select-trigger {
    border-color: rgba(255, 179, 71, 0.55) !important;
    background: rgba(255, 179, 71, 0.12) !important;
    color: #ffe0a8 !important;
}
body:is(.sf-ui, .results-sf) .modal .sf-select,
body:is(.sf-ui, .results-sf) #editModal .sf-select,
body:is(.sf-ui, .results-sf) .monitor-cookie-shared-field .sf-select {
    width: 100%;
    display: block;
    min-width: 0;
}
body:is(.sf-ui, .results-sf) .modal .sf-select-trigger,
body:is(.sf-ui, .results-sf) #editModal .sf-select-trigger {
    width: 100%;
    min-height: 38px;
    box-sizing: border-box;
}
body:is(.sf-ui, .results-sf) .sf-select:has(select:disabled) .sf-select-trigger {
    opacity: 0.45;
    cursor: not-allowed !important;
    pointer-events: none;
}

/* —— 超级管理员验密浮层（注入样式需更高优先级盖住） —— */
body:is(.sf-ui, .results-sf) #arx7k9m-reauth-overlay-root {
    background: rgba(4, 10, 20, 0.75) !important;
    backdrop-filter: blur(4px);
}
body:is(.sf-ui, .results-sf) #arx7k9m-reauth-overlay-root .arx7k9m-card {
    background: rgba(10, 22, 38, 0.98) !important;
    border: 1px solid var(--sf-border) !important;
    border-radius: 8px !important;
    box-shadow: 0 0 40px rgba(0, 229, 255, 0.18) !important;
    color: var(--sf-text) !important;
}
body:is(.sf-ui, .results-sf) #arx7k9m-reauth-overlay-root .arx7k9m-header {
    background: linear-gradient(135deg, rgba(8, 40, 64, 0.98), rgba(6, 28, 48, 0.96)) !important;
    border-bottom: 1px solid rgba(0, 229, 255, 0.25) !important;
    color: var(--sf-text) !important;
}
body:is(.sf-ui, .results-sf) #arx7k9m-reauth-overlay-root .arx7k9m-title {
    color: var(--sf-cyan) !important;
    font-family: 'Orbitron', sans-serif;
}
body:is(.sf-ui, .results-sf) #arx7k9m-reauth-overlay-root .arx7k9m-close {
    color: var(--sf-cyan) !important;
}
body:is(.sf-ui, .results-sf) #arx7k9m-reauth-overlay-root .arx7k9m-body,
body:is(.sf-ui, .results-sf) #arx7k9m-reauth-overlay-root .arx7k9m-msg {
    color: var(--sf-text) !important;
}
body:is(.sf-ui, .results-sf) #arx7k9m-reauth-overlay-root .arx7k9m-name {
    background: rgba(0, 229, 255, 0.08) !important;
    color: var(--sf-text-strong) !important;
    border: 1px solid rgba(0, 229, 255, 0.2);
}
body:is(.sf-ui, .results-sf) #arx7k9m-reauth-overlay-root .arx7k9m-hint,
body:is(.sf-ui, .results-sf) #arx7k9m-reauth-overlay-root .arx7k9m-label {
    color: var(--sf-muted) !important;
}
body:is(.sf-ui, .results-sf) #arx7k9m-reauth-overlay-root .arx7k9m-input {
    background: rgba(6, 18, 36, 0.95) !important;
    border: 1px solid rgba(0, 229, 255, 0.3) !important;
    color: var(--sf-text) !important;
    border-radius: 4px !important;
}
body:is(.sf-ui, .results-sf) #arx7k9m-reauth-overlay-root .arx7k9m-input:focus {
    border-color: var(--sf-cyan) !important;
    box-shadow: 0 0 0 2px rgba(0, 229, 255, 0.18) !important;
}
body:is(.sf-ui, .results-sf) #arx7k9m-reauth-overlay-root .arx7k9m-btn-cancel {
    background: rgba(8, 28, 48, 0.95) !important;
    border: 1px solid rgba(0, 229, 255, 0.3) !important;
    color: var(--sf-text) !important;
}
body:is(.sf-ui, .results-sf) #arx7k9m-reauth-overlay-root .arx7k9m-btn-confirm {
    background: linear-gradient(135deg, rgba(0, 180, 210, 0.4), rgba(0, 120, 180, 0.5)) !important;
    border: 1px solid var(--sf-cyan) !important;
    color: var(--sf-cyan) !important;
}
body:is(.sf-ui, .results-sf) #arx7k9m-reauth-overlay-root .arx7k9m-error {
    color: #ffb3c0 !important;
}

/* —— 说明卡片 / 提示条（一律淡底淡边，字略小） ——
 * 用法：.sf-tip 或沿用 .form-tip / .cookie-principle
 * 色调变体：.sf-tip--amber（注意类说明，仍须淡）
 * 无边框：.sf-tip--fill（只用底色）
 */
body:is(.sf-ui, .results-sf) .sf-tip,
body:is(.sf-ui, .results-sf) .form-tip,
body:is(.sf-ui, .results-sf) .cookie-principle {
    margin-bottom: 18px;
    padding: 10px 12px;
    background: rgba(0, 229, 255, 0.04) !important;
    border: 1px solid rgba(0, 229, 255, 0.14) !important;
    border-radius: 4px;
    color: var(--sf-muted, #7f9bb8) !important;
    font-size: 12px;
    line-height: 1.5;
    box-shadow: none !important;
}
body:is(.sf-ui, .results-sf) .sf-tip ul,
body:is(.sf-ui, .results-sf) .form-tip ul,
body:is(.sf-ui, .results-sf) .cookie-principle ul {
    margin: 0;
    padding-left: 1.15em;
    color: inherit !important;
    font-size: inherit;
    line-height: inherit;
}
body:is(.sf-ui, .results-sf) .sf-tip li + li,
body:is(.sf-ui, .results-sf) .form-tip li + li,
body:is(.sf-ui, .results-sf) .cookie-principle li + li {
    margin-top: 4px;
}
body:is(.sf-ui, .results-sf) .sf-tip code,
body:is(.sf-ui, .results-sf) .form-tip code {
    color: var(--sf-cyan, #00e5ff);
    background: rgba(0, 229, 255, 0.06);
    border: 1px solid rgba(0, 229, 255, 0.16);
    border-radius: 3px;
    padding: 0 5px;
    font-size: 0.95em;
}
body:is(.sf-ui, .results-sf) .sf-tip--amber,
body:is(.sf-ui, .results-sf) .form-tip.tip-amber {
    background: rgba(255, 179, 71, 0.05) !important;
    border: 1px solid rgba(255, 179, 71, 0.18) !important;
    color: var(--sf-muted, #7f9bb8) !important;
}
/* 无边框，仅底色（略提亮以保证可读） */
body:is(.sf-ui, .results-sf) .sf-tip.sf-tip--fill {
    border: none !important;
    background: rgba(0, 229, 255, 0.07) !important;
}
body:is(.sf-ui, .results-sf) .sf-tip.sf-tip--fill.sf-tip--amber {
    border: none !important;
    background: rgba(255, 179, 71, 0.09) !important;
}

@media (max-width: 1200px) {
    body:is(.sf-ui, .results-sf) .stats-cards-container,
    body:is(.sf-ui, .results-sf) .sf-stats {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}
@media (max-width: 768px) {
    body:is(.sf-ui, .results-sf) .main-content { margin-left: 0; padding: 16px; }
    body:is(.sf-ui, .results-sf) .stats-cards-container,
    body:is(.sf-ui, .results-sf) .sf-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
