/* ================================================================
 * 炽红 Crimson 主题 (theme-red) - 红白亮色门户风格
 * 参考金晨数通门户：顶部深红 + 内容区白色 + 红色标题/图标强调
 * 通过 .theme-red 前缀覆盖各页面样式，所有继承 base.html 的页面自动适配
 * ================================================================ */

/* ========== 全局 CSS 变量覆盖（炽红主题 - 亮色版） ========== */
.theme-red {
    --card-bg: #ffffff;
    --text-primary: #1a1a1a;
    --text-secondary: #666666;
    --input-bg: #ffffff;
    --border-color: #e0e0e0;
    --accent: #c1272d;
    --accent-rgb: 193, 39, 45;
    /* 状态语义色（炽红亮色主题：白底上的可读深色） */
    --st-green: #15803d;       --st-green-bg: rgba(22, 163, 74, .10);
    --st-red: #c1272d;         --st-red-bg: rgba(193, 39, 45, .10);
    --st-blue: #1d4ed8;        --st-blue-bg: rgba(37, 99, 235, .10);
    --st-gray: #6b7280;        --st-gray-bg: rgba(107, 114, 128, .10);
    --st-amber: #b45309;       --st-amber-bg: rgba(180, 83, 9, .10);
}

/* ========== 全局背景与文字 ========== */
.theme-red body {
    background-color: #f5f5f5;
    color: #1a1a1a;
}

/* ========== base.css 覆盖 ========== */

/* 左侧侧边栏：白色背景 */
.theme-red .left-sidebar {
    background-color: #ffffff;
    border-right: 1px solid #e8e8e8;
}
/* 左上角 Logo 区：与顶部 header 同高同色的深红底 */
.theme-red .sidebar-logo {
    background-color: #b91c1c;
    border-bottom: none;
}
.theme-red .sidebar-logo:hover {
    background-color: #a61b1b;
}
.theme-red .sidebar-logo .logo-mark {
    color: #ffffff;
}
.theme-red .sidebar-logo .logo-text {
    color: #ffffff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
.theme-red .sidebar-item {
    color: #333333;
}
.theme-red .sidebar-item.active {
    background-color: #fff0f0;
    color: #c1272d;
    border-left: 3px solid #c1272d;
    font-weight: 600;
}
.theme-red .sidebar-item:hover {
    background-color: #fafafa;
    color: #c1272d;
}
.theme-red ::-webkit-scrollbar-thumb {
    background: rgba(193, 39, 45, 0.3);
}
.theme-red ::-webkit-scrollbar-thumb:hover {
    background: rgba(193, 39, 45, 0.55);
}
.theme-red html {
    scrollbar-color: rgba(193, 39, 45, 0.3) transparent;
}

/* 顶部导航：深红色背景 + 白色文字 */
.theme-red .top-header {
    background-color: #b91c1c;
    color: #ffffff;
    border-bottom: none;
}
.theme-red .welcome-text {
    color: #ffffff;
}
.theme-red .btn-logout {
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.35);
    color: #ffffff;
}
.theme-red .btn-logout:hover {
    background: rgba(255, 255, 255, 0.25);
    color: #ffffff;
}

/* 二级折叠菜单 */
.theme-red .sidebar-parent {
    color: #333333;
}
.theme-red .sidebar-parent:hover {
    background-color: #fafafa;
    color: #c1272d;
}
.theme-red .group-arrow {
    color: #999999;
}
.theme-red .sidebar-group.open > .sidebar-parent .group-arrow {
    color: #c1272d;
}
.theme-red .sidebar-children {
    background: #fafafa;
}
.theme-red .sidebar-child {
    color: #555555;
    border-left: 3px solid transparent;
}
.theme-red .sidebar-child:hover {
    background-color: #f5f5f5;
    color: #c1272d;
}
.theme-red .sidebar-child.active {
    background-color: #fff0f0;
    color: #c1272d;
    border-left-color: #c1272d;
    font-weight: 600;
}

/* 标签栏 */
.theme-red .tab-bar-wrap {
    background: #ffffff;
    border-top: 1px solid #e8e8e8;
    border-bottom: 1px solid #e8e8e8;
}
.theme-red .tab-bar-scroll {
    scrollbar-color: rgba(193, 39, 45, 0.3) transparent;
}
.theme-red .tab-bar-scroll::-webkit-scrollbar-thumb {
    background: rgba(193, 39, 45, 0.3);
}
.theme-red .tab-item {
    background: #f8f8f8;
    border: 1px solid #e8e8e8;
    color: #555555;
}
.theme-red .tab-item:hover {
    background: #fff0f0;
    color: #c1272d;
    border-color: #f5c6c6;
}
.theme-red .tab-item.active {
    background: #ffffff;
    color: #c1272d;
    border-color: #c1272d;
    border-bottom: 2px solid #ffffff;
    font-weight: 600;
}
.theme-red .tab-item.loading::after {
    background: linear-gradient(90deg, transparent, #ff6b6b, transparent);
}
.theme-red .tab-close {
    color: #999999;
}
.theme-red .tab-close:hover {
    background: rgba(193, 39, 45, 0.1);
    color: #c1272d;
}
.theme-red .tab-bar-actions {
    border-left: 1px solid #e8e8e8;
}
.theme-red .tab-action-btn {
    background: #f8f8f8;
    border: 1px solid #e8e8e8;
    color: #555555;
}
.theme-red .tab-action-btn:hover {
    background: #fff0f0;
    border-color: #c1272d;
    color: #c1272d;
}

/* iframe 容器 */
.theme-red .tab-content-area {
    background: #f5f5f5;
}

/* 通用流光卡片 */
.theme-red .tech-card {
    background: #ffffff;
    border: 1px solid #e8e8e8;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.theme-red .tech-card::before {
    display: none;
}
.theme-red .tech-card::after {
    display: none;
}

/* 按钮 */
.theme-red .btn-primary {
    background: #c1272d;
    color: #ffffff;
    text-shadow: none;
    border: 1px solid #c1272d;
}
.theme-red .btn-primary:hover {
    background: #a61f24;
    border-color: #a61f24;
}
.theme-red .btn-secondary {
    background: #ffffff;
    border: 1px solid #c1272d;
    color: #c1272d;
}
.theme-red .btn-secondary:hover {
    background: #fff0f0;
    color: #a61f24;
}

/* 表格 */
.theme-red .tech-table th,
.theme-red .tech-table td {
    border-bottom: 1px solid #eeeeee;
}
.theme-red .tech-table th {
    background: #fafafa;
    color: #333333;
    font-weight: 600;
}
.theme-red .tech-table td {
    color: #444444;
}
.theme-red .tech-table tbody tr:hover {
    background: #fff8f8;
}

/* 工具栏与分页 */
.theme-red .page-box button {
    background: #ffffff;
    border: 1px solid #e0e0e0;
    color: #555555;
}
.theme-red .page-box button:hover {
    background: #fff0f0;
    border-color: #c1272d;
    color: #c1272d;
}
.theme-red .tech-select {
    background: #ffffff;
    color: #333333;
    border: 1px solid #d9d9d9;
}

/* 日期选择器图标 */
.theme-red input[type="date"].tech-select::-webkit-calendar-picker-indicator,
.theme-red input[type="month"].tech-select::-webkit-calendar-picker-indicator,
.theme-red input[type="week"].tech-select::-webkit-calendar-picker-indicator,
.theme-red input[type="datetime-local"].tech-select::-webkit-calendar-picker-indicator {
    filter: invert(30%) sepia(80%) saturate(2000%) hue-rotate(-10deg);
    opacity: 0.9;
    cursor: pointer;
}
.theme-red input[type="date"].tech-select::-webkit-calendar-picker-indicator:hover {
    opacity: 1;
}

/* 侧边栏科技渐变发光分割线 -> 红色细线 */
.theme-red .sidebar-divider {
    background: linear-gradient(90deg, transparent, #e8a0a0, #c1272d, #e8a0a0, transparent);
    box-shadow: none;
    animation: none;
    height: 1px;
    opacity: 0.6;
}

/* ========== global.css 覆盖（旧样式兼容） ========== */
.theme-red .sidebar {
    background-color: #ffffff;
    border-right: 1px solid #e8e8e8;
}
.theme-red .menu-item {
    color: #333333;
}
.theme-red .menu-item.active {
    background-color: #fff0f0;
    color: #c1272d;
    border-left: 3px solid #c1272d;
    font-weight: 600;
}
.theme-red .menu-item:hover {
    background-color: #fafafa;
    color: #c1272d;
}
.theme-red .top-nav {
    background-color: #b91c1c;
}

/* ========== index.html 首页内联样式覆盖 ========== */
.theme-red .weather-alert-wrap {
    background: #ffffff;
    border: 1px solid #e8e8e8;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.theme-red .weather-red-header {
    background: #b91c1c;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
.theme-red .weather-red-header h2,
.theme-red .weather-red-header span {
    color: #ffffff;
}
.theme-red .weather-city-card {
    background: #ffffff;
    border: 1px solid #e8e8e8;
}
.theme-red .weather-city-card:hover {
    border-color: #c1272d;
    box-shadow: 0 4px 12px rgba(193, 39, 45, 0.1);
}
.theme-red .city-name {
    color: #c1272d;
}
.theme-red .weather-item {
    color: #555555;
}
.theme-red .weather-loading,
.theme-red .weather-error {
    color: #888888;
}

.theme-red .home-card {
    background: #ffffff;
    border: 1px solid #e8e8e8;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.theme-red .home-card:hover {
    border-color: #c1272d;
    box-shadow: 0 4px 12px rgba(193, 39, 45, 0.1);
}
.theme-red .card-label {
    color: #666666;
}
.theme-red .card-num {
    color: #c1272d;
}
.theme-red .card-desc {
    color: #888888;
}

.theme-red .quick-title {
    color: #333333;
    border-left: 4px solid #c1272d;
}
.theme-red .quick-item {
    background: #ffffff;
    border: 1px solid #e8e8e8;
}
.theme-red .quick-item:hover {
    background: #fff8f8;
    border-color: #c1272d;
}
.theme-red .quick-name {
    color: #c1272d;
}
.theme-red .quick-tip {
    color: #888888;
}

.theme-red .tips-card {
    background: #ffffff;
    border: 1px solid #e8e8e8;
}
.theme-red .tips-title {
    color: #333333;
}
.theme-red .tips-list li {
    color: #555555;
}

/* ========== pur_order.css 覆盖 ========== */
.theme-red .select-box span {
    color: #555555;
}
.theme-red select.tech-select {
    background: #ffffff;
    border: 1px solid #d9d9d9;
    color: #333333;
}
.theme-red input[type="date"].tech-select {
    background: #ffffff;
    border: 1px solid #d9d9d9;
    color: #333333;
}
.theme-red .tech-card {
    background-color: #ffffff;
    border: 1px solid #e8e8e8;
}
.theme-red .tech-table th {
    background-color: #fafafa;
    border-bottom: 1px solid #e8e8e8;
    color: #333333;
}
.theme-red .tech-table td {
    border-bottom: 1px solid #eeeeee;
    color: #444444;
}
.theme-red .total-row {
    background-color: #fff8f8;
}
.theme-red .total-row td {
    color: #c1272d;
    border-top: 1px solid #f5c6c6;
    font-weight: 600;
}
.theme-red .page-box button:disabled {
    border-color: #e0e0e0;
    color: #bbbbbb;
    background-color: #f5f5f5;
}
.theme-red .page-box span {
    color: #555555;
}
.theme-red .no-data-tip {
    color: #888888;
}

/* ========== system.css 覆盖 ========== */
.theme-red .form-row label {
    color: #444444;
}
.theme-red .status-badge.status-on {
    background: rgba(34, 197, 94, 0.1);
    color: #16a34a;
    border: 1px solid rgba(34, 197, 94, 0.3);
}
.theme-red .status-badge.status-off {
    background: rgba(148, 163, 184, 0.1);
    color: #64748b;
    border: 1px solid rgba(148, 163, 184, 0.3);
}
.theme-red a.btn-mini {
    color: #c1272d;
    border: 1px solid #c1272d;
    background: #ffffff;
}
.theme-red a.btn-mini:hover {
    background: #fff0f0;
    color: #a61f24;
    border-color: #a61f24;
}

/* ========== module.css 覆盖 ========== */
/* module.css 与 pur_order/system 共用 tech-select, form-row 等，已覆盖 */

/* ========== bi.css 覆盖 ========== */
.theme-red .bi-wrap {
    background: #f5f5f5;
}
.theme-red .bi-wrap::before {
    background-image: radial-gradient(rgba(193, 39, 45, 0.04) 1px, transparent 1px);
}
.theme-red .bi-title {
    color: #1a1a1a;
}
.theme-red .sub-desc {
    color: #666666;
}
.theme-red .indicator-card {
    background: #ffffff;
    border: 1px solid #e8e8e8;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.theme-red .indicator-card:hover {
    border-color: #c1272d;
    box-shadow: 0 4px 12px rgba(193, 39, 45, 0.1);
}
.theme-red .ind-label {
    color: #666666;
}
.theme-red .ind-value {
    color: #c1272d;
}
.theme-red .ind-unit {
    color: #888888;
}
.theme-red .chart-card {
    background: #ffffff;
    border: 1px solid #e8e8e8;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.theme-red .card-title {
    color: #333333;
    border-left: 4px solid #c1272d;
}
.theme-red .card-title span:last-child {
    color: #888888;
}

/* ========== bi_big.css 覆盖 ========== */
.theme-red .dashboard-wrap {
    background: #f5f5f5;
}
.theme-red .dashboard-wrap::before {
    background-image:
        radial-gradient(rgba(193, 39, 45, 0.04) 1px, transparent 1px),
        linear-gradient(rgba(193, 39, 45, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(193, 39, 45, 0.03) 1px, transparent 1px);
}
.theme-red .dash-title {
    color: #1a1a1a;
}
.theme-red .index-card {
    background: #ffffff;
    border: 1px solid #e8e8e8;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.theme-red .index-card:hover {
    border-color: #c1272d;
    box-shadow: 0 4px 12px rgba(193, 39, 45, 0.1);
}
.theme-red .index-card::after {
    display: none;
}
.theme-red .index-name {
    color: #555555;
}
.theme-red .index-icon {
    background: rgba(193, 39, 45, 0.08);
    color: #c1272d;
}
.theme-red .index-num {
    color: #c1272d;
}
.theme-red .index-desc {
    color: #888888;
}
.theme-red .chart-box {
    background: #ffffff;
    border: 1px solid #e8e8e8;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.theme-red .chart-header {
    border-left: 4px solid #c1272d;
}
.theme-red .chart-title {
    color: #333333;
}
.theme-red .chart-sub {
    color: #888888;
}

/* ========== login.css 覆盖 ========== */
.theme-red .space-wrap {
    background-color: #f5f5f5;
}
.theme-red .login-card {
    background: #ffffff;
    border: 1px solid #e8e8e8;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.08);
}
.theme-red .login-card::before {
    display: none;
}
.theme-red .login-card::after {
    display: none;
}
.theme-red .card-header h1 {
    color: #b91c1c;
    text-shadow: none;
}
.theme-red .sub-title {
    color: #666666;
}
.theme-red .input-group label {
    color: #444444;
}
.theme-red .input-field {
    background: #ffffff;
    border: 1px solid #d9d9d9;
    color: #333333;
}
.theme-red .input-field::placeholder {
    color: #aaaaaa;
}
.theme-red .input-field:focus {
    border-color: #c1272d;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(193, 39, 45, 0.1);
}
.theme-red .submit-btn {
    background: #c1272d;
    color: #ffffff;
}
.theme-red .submit-btn:hover {
    background: #a61f24;
    box-shadow: 0 8px 24px rgba(193, 39, 45, 0.25);
}
.theme-red .copyright {
    color: #999999;
}

/* ========== 通用表单输入框覆盖 ========== */
.theme-red input[type="text"],
.theme-red input[type="password"],
.theme-red input[type="number"],
.theme-red input[type="email"],
.theme-red textarea,
.theme-red select {
    background: #ffffff;
    border: 1px solid #d9d9d9;
    color: #333333;
}
.theme-red input[type="text"]:focus,
.theme-red input[type="password"]:focus,
.theme-red input[type="number"]:focus,
.theme-red input[type="email"]:focus,
.theme-red textarea:focus,
.theme-red select:focus {
    border-color: #c1272d;
    box-shadow: 0 0 0 2px rgba(193, 39, 45, 0.1);
}
.theme-red input::placeholder,
.theme-red textarea::placeholder {
    color: #aaaaaa;
}

/* ========== 权限配置页面覆盖 ========== */
.theme-red .perm-card {
    border-color: #e8e8e8;
    background: #ffffff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}
.theme-red .perm-card h2 {
    color: #1a1a1a;
}
.theme-red .perm-role-select label {
    color: #333333;
}
.theme-red .perm-role-select select {
    background: #ffffff;
    border-color: #d9d9d9;
    color: #333333;
}
.theme-red .perm-role-select select option {
    background: #ffffff;
    color: #333333;
}
.theme-red .perm-role-select select:focus {
    border-color: #c1272d;
    box-shadow: 0 0 0 2px rgba(193, 39, 45, 0.1);
}
.theme-red .perm-hint {
    color: #888888;
}
.theme-red .perm-menu-item {
    border-color: #e8e8e8;
    background: #fafafa;
}
.theme-red .perm-menu-item:hover {
    border-color: #c1272d;
    background: #fff0f0;
}
.theme-red .perm-menu-item .menu-label {
    color: #333333;
}
.theme-red .perm-menu-item.is-parent .menu-label {
    color: #1a1a1a;
    font-weight: 600;
}
.theme-red .perm-menu-item input[type="checkbox"] {
    accent-color: #c1272d;
}
.theme-red .perm-btn-save {
    background: #c1272d;
    color: white;
}
.theme-red .perm-btn-save:hover {
    background: #a61f24;
}
.theme-red .perm-btn-save:disabled {
    background: #e0a0a2;
    color: #fff5f5;
}
.theme-red .perm-role-info {
    color: #c1272d;
    background: #fff0f0;
    border-color: #f5d0d0;
}
.theme-red .perm-toolbar a {
    color: #c1272d;
}
.theme-red .perm-section-title {
    color: #c1272d;
}

/* ========== 角色矩阵页面覆盖 ========== */
.theme-red .matrix-title {
    color: #1a1a1a;
}
.theme-red .matrix-legend .legend-item {
    color: #555555;
}
.theme-red .matrix-scroll-wrap {
    background: #ffffff;
    border-color: #e8e8e8;
}
.theme-red .matrix-table th {
    background: #fafafa;
    color: #333333;
}
.theme-red .matrix-table td {
    border-color: #eeeeee;
}
.theme-red .matrix-table .system-header {
    background: #fff0f0;
    color: #c1272d;
}
.theme-red .matrix-table .module-header {
    background: #fafafa;
    color: #555555;
}
.theme-red .matrix-table .sticky-corner {
    background: #fafafa;
}
.theme-red .matrix-table .sticky-col {
    background: #ffffff;
    color: #333333;
}
.theme-red .matrix-table tbody tr:hover td {
    background: #fff8f8;
}
.theme-red .matrix-table tbody tr:hover .sticky-col {
    background: #fff0f0;
}
.theme-red .matrix-table select {
    background: #ffffff;
    border: 1px solid #d9d9d9;
    color: #333333;
}
.theme-red .perm-A {
    background: rgba(22, 163, 74, 0.08);
    border-color: rgba(22, 163, 74, 0.3);
    color: #16a34a;
}
.theme-red .perm-R {
    background: rgba(37, 99, 235, 0.08);
    border-color: rgba(37, 99, 235, 0.3);
    color: #2563eb;
}
.theme-red .perm-E {
    background: rgba(234, 88, 12, 0.08);
    border-color: rgba(234, 88, 12, 0.3);
    color: #ea580c;
}
.theme-red .perm-N {
    background: rgba(120, 120, 130, 0.06);
    border-color: rgba(150, 150, 160, 0.2);
    color: #888888;
}
.theme-red .empty-matrix {
    color: #888888;
}
.theme-red .status-msg {
    color: #555555;
}

/* ========== 顶部主题选择器（炽红主题下覆盖） ========== */
.theme-red .header-theme-switcher {
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.3);
}
.theme-red .header-theme-switcher .theme-switcher-label {
    color: #ffffff;
    font-size: 13px;
    font-weight: bold;
}
.theme-red .header-theme-switcher .theme-option {
    border: 1px solid rgba(255, 255, 255, 0.3);
    background: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.9);
    font-size: 13px;
    padding: 5px 10px;
}
.theme-red .header-theme-switcher .theme-option:hover {
    border-color: rgba(255, 255, 255, 0.7);
    color: #ffffff;
    background: rgba(255, 255, 255, 0.2);
}
.theme-red .header-theme-switcher .theme-option.active {
    background: rgba(255, 255, 255, 0.25);
    border-color: #ffffff;
    color: #ffffff;
    box-shadow: 0 0 8px rgba(255, 255, 255, 0.25);
}
.theme-red .header-theme-switcher .theme-color-preview {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.4);
}
.theme-red .header-theme-switcher .theme-color-preview.default {
    background: linear-gradient(135deg, #0c1429, #00a8ff);
}
.theme-red .header-theme-switcher .theme-color-preview.gold {
    background: linear-gradient(135deg, #0a0805, #d4a84b);
}
.theme-red .header-theme-switcher .theme-color-preview.red {
    background: linear-gradient(135deg, #ffffff, #c1272d);
}

/* ========== 隧道配置表单覆盖 ========== */
.theme-red .cfg-form-row input,
.theme-red .cfg-form-row select {
    background: #ffffff;
    border: 1px solid #d9d9d9;
    color: #333333;
}
.theme-red .cfg-form-row input:focus,
.theme-red .cfg-form-row select:focus {
    border-color: #c1272d;
    box-shadow: 0 0 0 2px rgba(193, 39, 45, 0.1);
}
.theme-red .cfg-card-header {
    border-bottom: 1px solid #e8e8e8;
}
.theme-red .tunnel-cfg-table th {
    background: #fafafa;
    color: #333333;
    border-bottom: 1px solid #e8e8e8;
}
.theme-red .tunnel-cfg-table td {
    border-bottom: 1px solid #eeeeee;
    color: #444444;
}
.theme-red .tunnel-cfg-table tbody tr:hover {
    background: #fff8f8;
}

/* ========== 飞书表单聚焦色覆盖 ========== */
.theme-red .fs-form-card input:focus,
.theme-red .fs-form-card select:focus,
.theme-red .fs-config-card input:focus {
    border-color: #c1272d;
    box-shadow: 0 0 0 2px rgba(193, 39, 45, 0.1);
}

/* ========== 搜索输入框覆盖 ========== */
.theme-red .search-input {
    background: #ffffff;
    border: 1px solid #d9d9d9;
    color: #333333;
}
.theme-red .search-input:focus {
    border-color: #c1272d;
}
.theme-red .search-input::placeholder {
    color: #aaaaaa;
}

/* ========== 工具栏文字 ========== */
.theme-red .tool-bar span {
    color: #555555;
}
.theme-red .select-box span {
    color: #555555;
}

/* ========== 回购订单综合报表 (hg_report.html) ========== */
.theme-red .summary-card {
    background: #ffffff;
    border-color: #e8e8e8;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.theme-red .summary-card:hover {
    border-color: #c1272d;
    box-shadow: 0 2px 8px rgba(193, 39, 45, 0.1);
}
.theme-red .summary-card .sc-label {
    color: #666666;
}
.theme-red .summary-card .sc-value {
    color: #c1272d;
}
.theme-red .summary-card .sc-count {
    color: #888888;
}
.theme-red .accordion-section {
    border-color: #e8e8e8;
    background: #ffffff;
}
.theme-red .accordion-header {
    background: linear-gradient(135deg, #fafafa, #f5f5f5);
}
.theme-red .accordion-header:hover {
    background: linear-gradient(135deg, #fff0f0, #fafafa);
}
.theme-red .accordion-header .ah-title {
    color: #1a1a1a;
}
.theme-red .accordion-header .ah-icon {
    background: rgba(193, 39, 45, 0.1);
}
.theme-red .accordion-header .ah-meta {
    color: #888888;
}
.theme-red .accordion-header .ah-count {
    background: rgba(193, 39, 45, 0.1);
    color: #c1272d;
}
.theme-red .accordion-header .ah-arrow {
    color: #c1272d;
}
.theme-red .accordion-body th {
    background: #fafafa;
    color: #555555;
    border-bottom-color: #e8e8e8;
}
.theme-red .accordion-body td {
    color: #333333;
    border-bottom-color: #eeeeee;
}
.theme-red .accordion-body tr:hover td {
    background: #fff8f8;
}
.theme-red .no-data-row td {
    color: #888888;
}
.theme-red .amt-col {
    color: #c1272d !important;
}
.theme-red .table-scroll {
    border-color: #e8e8e8;
}

/* ========== 回购订单指标分析 (hg_chart.html) ========== */
.theme-red .cs-card {
    background: #ffffff;
    border-color: #e8e8e8;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.theme-red .cs-card:hover {
    border-color: #c1272d;
    box-shadow: 0 2px 8px rgba(193, 39, 45, 0.1);
}
.theme-red .cs-card .cs-label {
    color: #666666;
}
.theme-red .cs-card .cs-value {
    color: #c1272d;
}
.theme-red .cs-card .cs-count {
    color: #888888;
}
.theme-red .chart-card {
    background: #ffffff;
    border-color: #e8e8e8;
    backdrop-filter: none;
}
.theme-red .chart-card .cc-title {
    color: #1a1a1a;
    border-bottom-color: #eeeeee;
}
.theme-red .chart-card .cc-icon {
    background: rgba(193, 39, 45, 0.1);
}

/* ========== 采购入库对比 (bi_pur_compare.html) ========== */
.theme-red .bi-card {
    background: #ffffff;
    border-color: #e8e8e8;
    backdrop-filter: none;
}
.theme-red .bi-card h2,
.theme-red .bi-card h3 {
    color: #1a1a1a !important;
}
.theme-red .index-item {
    background: #ffffff;
    border-color: #e8e8e8;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}
.theme-red .index-name {
    color: #666666;
}
.theme-red .index-num {
    color: #c1272d;
    text-shadow: none;
}
.theme-red .no-data {
    color: #888888;
}

/* ========== 飞书数据拉取 (feishu_sync.html) ========== */
.theme-red .fs-sync-hero {
    background: #ffffff;
    border: 1px solid #e8e8e8;
}
.theme-red .fs-sync-select {
    background: #ffffff;
    border: 1px solid #d9d9d9;
    color: #333333;
}
.theme-red .fs-sync-select:focus {
    border-color: #c1272d;
    box-shadow: 0 0 0 2px rgba(193, 39, 45, 0.1);
}
.theme-red .fs-sync-btn {
    background: linear-gradient(135deg, #c1272d, #a61f24);
    color: #ffffff;
}
.theme-red .fs-sync-btn:hover {
    box-shadow: 0 4px 16px rgba(193, 39, 45, 0.4);
}
.theme-red .fs-sync-btn:disabled {
    opacity: 0.5;
}
.theme-red .fs-stop-btn {
    background: linear-gradient(135deg, #dc2626, #991b1b) !important;
    color: #ffffff;
}
.theme-red .fs-sync-info h3 {
    color: #1a1a1a;
}
.theme-red .fs-sync-info p {
    color: #666666;
}
.theme-red .fs-sync-progress {
    background: #ffffff;
    border: 1px solid #e8e8e8;
}
.theme-red .fs-progress-bar {
    background: #f0f0f0;
}
.theme-red .fs-progress-fill {
    background: linear-gradient(90deg, #c1272d, #a61f24);
}
.theme-red .fs-sync-log {
    color: #555555;
}

/* ========== 飞书审批流程/明细 (feishu_approval_list.html) ========== */
.theme-red .fs-detail-card {
    background: #ffffff;
}
.theme-red .fs-detail-header {
    border-bottom-color: #eeeeee;
}
.theme-red .fs-detail-title {
    color: #1a1a1a;
}
.theme-red .fs-detail-close {
    color: #888888;
}
.theme-red .fs-detail-close:hover {
    color: #c1272d;
}
.theme-red .fs-detail-basic {
    background: #f5f5f5;
    border-bottom-color: #eeeeee;
}
.theme-red .fs-detail-basic-item {
    background: #ffffff;
}
.theme-red .fs-detail-basic-label {
    color: #888888;
}
.theme-red .fs-detail-basic-value {
    color: #1a1a1a;
}
.theme-red .fs-detail-section {
    border-bottom-color: #eeeeee;
}
.theme-red .fs-detail-section-title {
    color: #c1272d;
    background: #fff0f0;
    border-bottom-color: #f5d0d0;
}
.theme-red .fs-detail-section-title::before {
    background: #c1272d;
}
.theme-red .fs-kv-table th,
.theme-red .fs-kv-table td {
    border-bottom-color: #f0f0f0;
}
.theme-red .fs-kv-table th {
    color: #888888;
}
.theme-red .fs-kv-table td {
    color: #333333;
}
.theme-red .fs-summary-box {
    background: #f0fdf4;
    border-top-color: #bbf7d0;
}
.theme-red .fs-summary-label {
    color: #666666;
}
.theme-red .fs-summary-value {
    color: #16a34a;
}
.theme-red .fs-type-tag {
    background: #f5f5f5;
    color: #888888;
}
.theme-red .fs-flow-title {
    color: #c1272d;
}
.theme-red .fs-flow-title::before {
    background: #c1272d;
}
.theme-red .fs-flow-timeline::before {
    background: #e0e0e0;
}
.theme-red .fs-flow-dot {
    background: #c1272d;
}

/* ========== 飞书配置/新增/编辑表单 ========== */
.theme-red .fs-form-card {
    background: #ffffff;
    border: 1px solid #e8e8e8;
}
.theme-red .fs-form-card label {
    color: #555555;
}
.theme-red .fs-form-card input,
.theme-red .fs-form-card select {
    background: #ffffff;
    border-color: #d9d9d9;
    color: #333333;
}
.theme-red .fs-form-card input:focus,
.theme-red .fs-form-card select:focus {
    border-color: #c1272d;
    box-shadow: 0 0 0 2px rgba(193, 39, 45, 0.1);
}
.theme-red .fs-form-tip {
    color: #888888;
}
.theme-red .fs-config-card {
    background: #ffffff;
    border: 1px solid #e8e8e8;
}
.theme-red .fs-config-tip {
    color: #888888;
}
.theme-red .fs-config-card label {
    color: #555555;
}
.theme-red .fs-config-card input {
    background: #ffffff;
    border-color: #d9d9d9;
    color: #333333;
}
.theme-red .fs-config-card input:focus {
    border-color: #c1272d;
    box-shadow: 0 0 0 2px rgba(193, 39, 45, 0.1);
}

/* ========== 飞书流程列表 (feishu_codes.html) ========== */
.theme-red .status-badge.status-on {
    background: rgba(22, 163, 74, 0.08);
    color: #16a34a;
    border-color: rgba(22, 163, 74, 0.3);
}
.theme-red .status-badge.status-off {
    background: rgba(220, 38, 38, 0.08);
    color: #dc2626;
    border-color: rgba(220, 38, 38, 0.3);
}
.theme-red .fs-detail-overlay {
    background: rgba(0, 0, 0, 0.4);
}
.theme-red .fs-detail-card {
    background: #ffffff;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
}

/* ================================================================
 * json_transform.css 覆盖
 * ================================================================ */
.theme-red .jt-header h2 {
    color: #1a1a1a;
}
.theme-red .jt-card {
    background: #ffffff;
    border: 1px solid #e8e8e8;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.theme-red .jt-card-title {
    color: #333333;
    border-bottom: 1px solid #eeeeee;
}
.theme-red .jt-card-title .jt-hint {
    color: #888888;
}
.theme-red .jt-form-item label {
    color: #444444;
}
.theme-red .jt-form-item .jt-input {
    background: #ffffff;
    border: 1px solid #d9d9d9;
    color: #333333;
}
.theme-red .jt-form-item .jt-input:focus {
    border-color: #c1272d;
    box-shadow: 0 0 0 2px rgba(193, 39, 45, 0.1);
}
.theme-red .jt-json-area {
    background: #fafafa;
    border: 1px solid #d9d9d9;
    color: #333333;
}
.theme-red .jt-json-area:focus {
    border-color: #c1272d;
    box-shadow: 0 0 0 2px rgba(193, 39, 45, 0.1);
}
.theme-red .jt-output-area {
    background: #f8f8f8;
    border: 1px solid #e0e0e0;
    color: #16a34a;
}
.theme-red .jt-output-area.jt-error {
    color: #c1272d;
    border-color: #f5a0a0;
}
.theme-red .jt-stat {
    background: #fff8f8;
    border: 1px solid #f5d0d0;
}
.theme-red .jt-stat-val {
    color: #c1272d;
}
.theme-red .jt-stat-label {
    color: #666666;
}
.theme-red .jt-btn-primary {
    background: #c1272d;
    color: white;
}
.theme-red .jt-btn-primary:hover {
    background: #a61f24;
}
.theme-red .jt-btn-success {
    background: #16a34a;
    color: white;
}
.theme-red .jt-btn-danger {
    background: #dc2626;
    color: white;
}
.theme-red .jt-btn-ghost {
    border: 1px solid #c1272d;
    color: #c1272d;
    background: #ffffff;
}
.theme-red .jt-btn-ghost:hover {
    background: #fff0f0;
    color: #a61f24;
}
.theme-red .jt-collapse-toggle {
    color: #888888;
}
.theme-red .jt-collapse-toggle:hover {
    color: #c1272d;
}
.theme-red .jt-api-box {
    background: #fafafa;
    border: 1px dashed #d9d9d9;
}
.theme-red .jt-api-box code {
    color: #c1272d;
}
.theme-red .jt-field-group {
    background: #fafafa;
    border: 1px solid #e8e8e8;
}
.theme-red .jt-field-group-title {
    color: #555555;
    border-bottom: 1px dashed #e0e0e0;
}
.theme-red .jt-field-label {
    color: #666666;
}
.theme-red .jt-slider {
    background: #d9d9d9;
}
.theme-red .jt-slider::after {
    background: #ffffff;
}
.theme-red .jt-switch input:checked ~ .jt-slider {
    background: #c1272d;
}
.theme-red .jt-switch input:checked ~ .jt-slider::after {
    background: #ffffff;
}
.theme-red .jt-switch-text,
.theme-red .jt-switch-hint {
    color: #555555;
}
.theme-red .jt-switch-hint {
    background: #fafafa;
}
.theme-red .jt-map-section-title {
    color: #555555;
}
.theme-red .jt-map-header {
    color: #888888;
    border-bottom: 1px solid #eeeeee;
}
.theme-red .jt-map-row {
    border-bottom: 1px solid #f5f5f5;
}
.theme-red .jt-map-row:hover {
    background: #fff8f8;
}
.theme-red .jt-page .tech-table .col-config pre {
    color: #666666;
}

/* ========== 全局密码验证弹窗（炽红主题） ========== */
.theme-red .gpwd-confirm {
    background: #ffffff;
    border-color: #e0e0e0;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.18);
}
.theme-red .gpwd-confirm h3 {
    color: #1a1a1a;
}
.theme-red .gpwd-confirm p {
    color: #666666;
}
.theme-red .gpwd-input {
    background: #ffffff;
    border-color: #e0e0e0;
    color: #1a1a1a;
}
.theme-red .gpwd-input:focus {
    border-color: #c1272d;
}
.theme-red .gpwd-err {
    color: #c1272d;
}
.theme-red .gpwd-cancel {
    background: #f5f5f5;
    border-color: #e0e0e0 !important;
    color: #666666;
}
.theme-red .gpwd-cancel:hover {
    background: #eeeeee;
    color: #1a1a1a;
}
.theme-red .gpwd-ok {
    background: linear-gradient(90deg, #b91c1c, #e53935);
    color: #ffffff;
}
.theme-red .gpwd-ok:hover {
    background: linear-gradient(90deg, #c1272d, #f04646);
}
