/* 丰顺数据 Fooshun Data · 企业级数据检测与清洗平台 · 设计系统(三端色彩分层 + 白天/黑夜双模式) */
/* 默认主题 = 浅蓝系(数据检测操作台) */
:root{
  --fs-primary:#2E8BEF;      /* 主色 */
  --fs-primary-2:#5BB6FF;    /* 辅助色 */
  --fs-primary-deep:#1D6FD0; /* 深主色 */
  --fs-ink:#0F1F3D;          /* 深色文字 */
  --fs-ink-2:#64748B;        /* 次要文字 */
  --fs-soft:#EAF3FE;         /* 浅色背景 */
  --fs-border:#D7E3F4;       /* 描边 */
  --fs-glow:46,139,239;      /* 主色 rgb(用于阴影) */
  --fs-page:#F5F9FF;         /* 右侧内容区背景(干净白底) */
  --fs-card:rgba(255,255,255,0.86); /* 卡片背景(半透明白) */
  --fs-card-solid:#FFFFFF;
  --fs-card-border:rgba(46,139,239,0.12);
  --fs-card-shadow:0 8px 24px rgba(15,31,61,0.06);
  --fs-side-bg:#10233F;      /* 左侧导航背景(深蓝藏青,稳重) */
  --fs-side-active:rgba(46,139,239,0.22);  /* 左侧导航选中(主色透明) */
  --fs-side-hover:rgba(255,255,255,0.06);  /* 左侧导航 hover */
  --fs-side-text:#C7D5EC;    /* 左侧导航文字(浅亮) */
  --fs-side-text-strong:#FFFFFF; /* 选中文字 */
  --fs-side-icon:#7FB4F5;    /* 左侧导航图标(亮蓝) */
  --fs-side-group:#6E84A8;   /* 分组标题 */
  --fs-value:#E08600;        /* 价值色(积分/价格金色,加深更醒目) */
  --fs-value-2:#F5B400;      /* 价值色辅助(金色渐变) */
  --fs-success:#22C55E;
  --fs-warning:#F59E0B;
  --fs-danger:#EF4444;
  --fs-purple:#8B5CF6;
  --fs-topbar:#FFFFFF;
  --fs-input-bg:#FFFFFF;
}
/* 超级总后台(/admin) = 橙色系(平台方最高权限) */
.theme-admin{
  --fs-primary:#F59E0B;
  --fs-primary-2:#FBBF24;
  --fs-primary-deep:#D97706;
  --fs-soft:#FFF7ED;
  --fs-border:#FDBA74;
  --fs-glow:245,158,11;
  --fs-page:#FFFBF4;
  --fs-side-bg:#3A2708;
  --fs-side-active:rgba(245,158,11,0.26);
  --fs-side-hover:rgba(255,255,255,0.07);
  --fs-side-text:#F0DEC2;
  --fs-side-text-strong:#FFFFFF;
  --fs-side-icon:#FBBF24;
  --fs-card-border:rgba(245,158,11,0.14);
}
/* 运营后台(/agent) = 绿色系(运营方/合作方) */
.theme-agent{
  --fs-primary:#22C55E;
  --fs-primary-2:#10B981;
  --fs-primary-deep:#16A34A;
  --fs-soft:#ECFDF5;
  --fs-border:#86EFAC;
  --fs-glow:34,197,94;
  --fs-page:#F4FEF8;
  --fs-side-bg:#0A2A1B;
  --fs-side-active:rgba(34,197,94,0.26);
  --fs-side-hover:rgba(255,255,255,0.07);
  --fs-side-text:#C2E8D2;
  --fs-side-text-strong:#FFFFFF;
  --fs-side-icon:#4ADE80;
  --fs-card-border:rgba(34,197,94,0.14);
  --fs-value:#22C55E;      /* 运营后台返佣收益用绿色 */
  --fs-value-2:#4ADE80;
}

/* ==================== 黑夜模式 ==================== */
.dark{
  --fs-ink:#F8FAFC;
  --fs-ink-2:#94A3B8;
  --fs-page:#0B1220;
  --fs-card:#111827;
  --fs-card-solid:#111827;
  --fs-card-border:rgba(148,163,184,0.18);
  --fs-card-shadow:0 8px 24px rgba(0,0,0,0.35);
  --fs-soft:#1E293B;
  --fs-border:rgba(148,163,184,0.22);
  --fs-side-bg:#0A0F1C;
  --fs-side-active:rgba(56,189,248,0.20);
  --fs-side-hover:rgba(255,255,255,0.05);
  --fs-side-text:#C7D5EC;
  --fs-side-text-strong:#FFFFFF;
  --fs-side-icon:#7DD3FC;
  --fs-side-group:#5B6B86;
  --fs-topbar:#0F172A;
  --fs-input-bg:#1E293B;
  --fs-value:#FACC15;
}
.dark{ --fs-primary:#38BDF8; --fs-primary-2:#7DD3FC; --fs-primary-deep:#0EA5E9; --fs-glow:56,189,248; }
.dark.theme-admin{ --fs-primary:#FBBF24; --fs-primary-2:#FCD34D; --fs-primary-deep:#F59E0B; --fs-glow:251,191,36; --fs-side-bg:#1A1305; --fs-side-active:#332408; }
.dark.theme-agent{ --fs-primary:#34D399; --fs-primary-2:#6EE7B7; --fs-primary-deep:#10B981; --fs-glow:52,211,153; --fs-side-bg:#06140E; --fs-side-active:#0B241A; --fs-value:#34D399; }

body{background:var(--fs-page);color:var(--fs-ink);transition:background .2s,color .2s;}

/* 侧边栏(深色稳重底,高对比导航) */
#sidebar{background:var(--fs-side-bg);}
#sidebar .h-16{border-bottom-color:rgba(255,255,255,0.08)!important;}
#sidebar .p-3{border-top-color:rgba(255,255,255,0.08)!important;}
.sidebar-item{transition:all .16s;color:var(--fs-side-text);border-radius:9px;margin:2px 8px;font-weight:500;}
.sidebar-item i{color:var(--fs-side-icon);transition:color .16s;}
.sidebar-item span{color:var(--fs-side-text);}
.sidebar-item:hover{background:var(--fs-side-hover);color:var(--fs-side-text-strong);}
.sidebar-item:hover i,.sidebar-item:hover span{color:var(--fs-side-text-strong);}
.sidebar-item.active{background:var(--fs-side-active);color:var(--fs-side-text-strong);font-weight:700;box-shadow:inset 3px 0 0 var(--fs-primary-2);}
.sidebar-item.active i{color:var(--fs-primary-2);}
.sidebar-item.active span{color:var(--fs-side-text-strong);}
/* 导航模块说明小字(默认隐藏,仅选中/hover 显示,保持左侧清爽) */
.nav-desc{display:none;font-size:11px;line-height:1.4;color:var(--fs-side-group);opacity:.95;margin-top:1px;white-space:normal;}
.sidebar-item:hover .nav-desc,.sidebar-item.active .nav-desc{display:block;}
.sidebar-item.active .nav-desc{color:var(--fs-primary-2);opacity:.9;}
/* 导航分组标题 */
.nav-group{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--fs-side-group);padding:14px 20px 5px;text-transform:none;}
/* 品牌头(深色底上的文字提亮) */
#sidebar .fs-brand-title{color:var(--fs-side-text-strong);}
#sidebar .fs-brand-en{color:var(--fs-side-text)!important;}
#sidebar .fs-brand-sub{color:var(--fs-side-group);}
/* 退出登录按钮 */
.fs-logout-btn{color:var(--fs-side-text);background:var(--fs-side-hover);transition:all .16s;font-weight:600;}
.fs-logout-btn:hover{background:rgba(239,68,68,0.18);color:#FCA5A5;}

/* 滚动条 */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-thumb{background:rgba(var(--fs-glow),.35);border-radius:3px}

/* 品牌头 */
.fs-brand-title{color:var(--fs-ink);font-weight:700;}
.fs-brand-sub{color:var(--fs-ink-2);font-size:10px;}

/* 卡片(半透明白 + 淡边框 + 轻阴影 + 毛玻璃) */
.fs-card{background:var(--fs-card);border:1px solid var(--fs-card-border);border-radius:14px;box-shadow:var(--fs-card-shadow);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:all .18s ease;}
.fs-card-hover{cursor:default;}
.fs-card-hover:hover{box-shadow:0 14px 32px rgba(var(--fs-glow),.16);transform:translateY(-3px);border-color:var(--fs-primary);}
.fs-card-hover:hover .fs-prod-icon{transform:scale(1.08);}
.fs-prod-icon{transition:transform .18s ease;}
/* 即将接入卡片(保持清晰,仅轻微降透明,图标不再灰糊以保平台识别度) */
.fs-card-soon{opacity:.96;}
.fs-card-soon .fs-prod-icon{filter:saturate(.92);}
.fs-card-soon.fs-card-hover:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(var(--fs-glow),.12);border-color:var(--fs-primary);}
.fs-card-soon.fs-card-hover:hover .fs-prod-icon{transform:scale(1.05);}
.dark .fs-card-soon{opacity:.92;}
/* 筛选 chip(非激活态:浅白底/淡蓝边,hover 变蓝) */
.fs-filter-chip{background:var(--fs-card-solid);color:var(--fs-ink-2);border:1px solid var(--fs-card-border);}
.fs-filter-chip:hover{color:var(--fs-primary);border-color:var(--fs-primary);background:var(--fs-soft);}
.dark .fs-filter-chip{background:rgba(148,163,184,0.08);}

/* 统计卡 */
.fs-stat{background:var(--fs-card);border:1px solid var(--fs-card-border);border-radius:14px;padding:12px 14px;box-shadow:var(--fs-card-shadow);}
.fs-stat .fs-stat-num{color:var(--fs-ink);font-weight:700;font-size:1.4rem;line-height:1.2;}
.fs-stat .fs-stat-label{color:var(--fs-ink-2);font-size:12px;}

/* 按钮(加深对比,不发灰) */
.fs-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:10px;font-weight:600;transition:all .16s;cursor:pointer;padding:.5rem 1rem;line-height:1.1;border:1px solid transparent;}
.fs-btn.text-xs{padding:.4rem .8rem;}
.fs-btn-primary{background:linear-gradient(135deg,var(--fs-primary-deep),var(--fs-primary));color:#fff;box-shadow:0 2px 8px rgba(var(--fs-glow),.28);}
.fs-btn-primary:hover{filter:brightness(1.05);box-shadow:0 5px 16px rgba(var(--fs-glow),.4);transform:translateY(-1px);}
.fs-btn-outline{background:var(--fs-card-solid);color:var(--fs-primary-deep);border:1.5px solid var(--fs-primary);font-weight:600;}
.fs-btn-outline:hover{background:var(--fs-soft);color:var(--fs-primary-deep);}
/* ghost(用于「即将接入」按钮:实色描边,不发灰,识别度高) */
.fs-btn-ghost{background:var(--fs-soft);color:var(--fs-primary-deep);border:1.5px solid var(--fs-primary);font-weight:600;}
.fs-btn-ghost:hover{background:var(--fs-primary);color:#fff;}
.dark .fs-btn-ghost{background:rgba(var(--fs-glow),.16);color:var(--fs-primary-2);border-color:var(--fs-primary);}
.dark .fs-btn-ghost:hover{background:var(--fs-primary);color:#fff;}
.fs-btn-disabled{background:#E2E8F0;color:#64748B;cursor:not-allowed;font-weight:600;}
.dark .fs-btn-disabled{background:#283447;color:#94A3B8;}
.fs-btn-danger{background:var(--fs-danger);color:#fff;}
.fs-btn-danger:hover{filter:brightness(.95);}
/* 充值/财务金色按钮(加深对比) */
.fs-btn-recharge,.fs-btn-gold{background:linear-gradient(135deg,#EA8A00,#F7B500);color:#fff;font-weight:700;box-shadow:0 2px 8px rgba(234,138,0,.3);}
.fs-btn-recharge:hover,.fs-btn-gold:hover{filter:brightness(1.05);box-shadow:0 5px 16px rgba(234,138,0,.42);transform:translateY(-1px);}
/* 语义化操作按钮颜色(链接型) */
.fs-act-submit{color:#2E8BEF;cursor:pointer;}
.fs-act-recharge{color:#F59E0B;cursor:pointer;}
.fs-act-download{color:#22C55E;cursor:pointer;}
.fs-act-reset{color:#F59E0B;cursor:pointer;}
.fs-act-delete{color:#EF4444;cursor:pointer;}
.fs-act-copy{color:#8B5CF6;cursor:pointer;}
.fs-act-perm{color:#8B5CF6;cursor:pointer;}
.fs-act-commission{color:#22C55E;cursor:pointer;}
.fs-act-submit:hover,.fs-act-recharge:hover,.fs-act-download:hover,.fs-act-reset:hover,.fs-act-delete:hover,.fs-act-copy:hover,.fs-act-perm:hover,.fs-act-commission:hover{text-decoration:underline;}

/* 状态标签(三状态色拉开层级,对比加强) */
.fs-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:2px 9px;border-radius:999px;font-weight:600;line-height:1.5;}
.fs-badge-success{background:#D6F5E3;color:#0E7A37;border:1px solid #A7E8C2;}
.fs-badge-gray{background:#E5EAF1;color:#52617A;border:1px solid #D2DAE6;}
.fs-badge-warning{background:#FDEBC8;color:#9A5B06;border:1px solid #F7D08A;}
.fs-badge-danger{background:#FBDADA;color:#A81B1B;border:1px solid #F3B0B0;}
.fs-badge-blue{background:var(--fs-soft);color:var(--fs-primary-deep);}
.fs-badge-role{background:var(--fs-soft);color:var(--fs-primary-deep);border:1px solid var(--fs-border);}
.fs-badge-purple{background:#F1ECFD;color:#6D28D9;}
.dark .fs-badge-success{background:rgba(34,197,94,.16);color:#4ADE80;}
.dark .fs-badge-gray{background:rgba(148,163,184,.16);color:#94A3B8;}
.dark .fs-badge-warning{background:rgba(245,158,11,.16);color:#FBBF24;}
.dark .fs-badge-danger{background:rgba(239,68,68,.16);color:#F87171;}
.dark .fs-badge-purple{background:rgba(139,92,246,.16);color:#C4B5FD;}

/* 文本与链接强调 */
.fs-text-primary{color:var(--fs-primary);}
.fs-link{color:var(--fs-primary);cursor:pointer;}
.fs-link:hover{text-decoration:underline;}

/* 价值色:积分/价格(金色,体现金钱价值感) */
.fs-price{font-weight:800;color:var(--fs-value);}
.fs-price .fs-price-unit{font-weight:500;font-size:.72em;color:var(--fs-ink-2);margin-left:3px;}

/* 模块说明文字 */
.fs-desc{font-size:12px;color:var(--fs-ink-2);line-height:1.4;}

/* 空状态 */
.fs-empty{text-align:center;color:var(--fs-ink-2);padding:48px 16px;}
.fs-empty i{font-size:42px;color:rgba(var(--fs-glow),.4);margin-bottom:12px;display:block;}

/* 长标题省略 */
.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* 输入框 */
.login-input{width:100%;padding:.6rem .9rem;border:1px solid var(--fs-border);border-radius:.6rem;outline:none;transition:all .15s;background:var(--fs-input-bg);font-size:.9rem;color:var(--fs-ink)}
.login-input:focus{border-color:var(--fs-primary);box-shadow:0 0 0 3px rgba(var(--fs-glow),.15)}

/* 页面主标题装饰线 */
.fs-title-bar{display:inline-block;width:4px;height:18px;border-radius:3px;background:var(--fs-primary);margin-right:8px;vertical-align:-3px;}

/* ===== 实时通道状态:呼吸灯 + 信号条 ===== */
.fs-dot{display:inline-block;width:9px;height:9px;border-radius:50%;position:relative;}
.fs-dot-live{background:#22C55E;box-shadow:0 0 0 0 rgba(34,197,94,.6);animation:fsPulse 1.6s infinite;}
.fs-dot-busy{background:#F59E0B;box-shadow:0 0 0 0 rgba(245,158,11,.6);animation:fsPulse 1.2s infinite;}
.fs-dot-err{background:#EF4444;box-shadow:0 0 0 0 rgba(239,68,68,.6);animation:fsPulse .9s infinite;}
.fs-dot-off{background:#94A3B8;}
@keyframes fsPulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.55)}70%{box-shadow:0 0 0 8px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.fs-dot-busy{animation-name:fsPulseY}
@keyframes fsPulseY{0%{box-shadow:0 0 0 0 rgba(245,158,11,.55)}70%{box-shadow:0 0 0 8px rgba(245,158,11,0)}100%{box-shadow:0 0 0 0 rgba(245,158,11,0)}}
.fs-dot-err{animation-name:fsPulseR}
@keyframes fsPulseR{0%{box-shadow:0 0 0 0 rgba(239,68,68,.55)}70%{box-shadow:0 0 0 8px rgba(239,68,68,0)}100%{box-shadow:0 0 0 0 rgba(239,68,68,0)}}
/* 信号条(4 格) */
.fs-signal{display:inline-flex;align-items:flex-end;gap:2px;height:14px;}
.fs-signal span{width:3px;border-radius:1px;background:#CBD5E1;}
.fs-signal span:nth-child(1){height:5px}.fs-signal span:nth-child(2){height:8px}.fs-signal span:nth-child(3){height:11px}.fs-signal span:nth-child(4){height:14px}
.fs-signal-good span{background:#22C55E;}
.fs-signal-busy span:nth-child(1),.fs-signal-busy span:nth-child(2){background:#F59E0B;}
.fs-signal-bad span:nth-child(1){background:#EF4444;}

/* 主题切换/语言切换按钮 */
.fs-icon-btn{width:34px;height:34px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--fs-ink-2);border:1px solid var(--fs-border);background:var(--fs-card-solid);transition:all .15s;}
.fs-icon-btn:hover{color:var(--fs-primary);border-color:var(--fs-primary);}
.fs-lang-btn{height:34px;padding:0 12px;border-radius:9px;font-size:13px;font-weight:600;cursor:pointer;color:var(--fs-ink-2);border:1px solid var(--fs-border);background:var(--fs-card-solid);transition:all .15s;}
.fs-lang-btn:hover{color:var(--fs-primary);border-color:var(--fs-primary);}

/* 顶栏 */
.fs-topbar{background:var(--fs-topbar);}

/* 顶部积分信息区(当前积分 + 冻结积分) */
.fs-balance-chip{gap:0;padding:5px 14px;border-radius:11px;background:linear-gradient(135deg,rgba(var(--fs-glow),.10),rgba(var(--fs-glow),.04));border:1px solid var(--fs-card-border);}
.fs-balance-item{display:inline-flex;align-items:center;gap:5px;}
.fs-balance-icon-bal{color:var(--fs-value);font-size:13px;}
.fs-balance-icon-frz{color:var(--fs-ink-2);font-size:12px;}
.fs-balance-label{font-size:11px;color:var(--fs-ink-2);font-weight:600;}
.fs-balance-num{font-weight:800;font-size:15px;line-height:1;letter-spacing:.01em;}
.fs-balance-num-bal{color:var(--fs-value);}
.fs-balance-num-frz{color:var(--fs-ink);}
.fs-balance-sep{display:inline-block;width:1px;height:18px;background:var(--fs-card-border);margin:0 13px;}
.dark .fs-balance-chip{background:linear-gradient(135deg,rgba(var(--fs-glow),.16),rgba(var(--fs-glow),.06));}

/* 移动端抽屉 */
@media (max-width:767px){
  #sidebar{position:fixed;left:0;top:0;bottom:0;z-index:50;transform:translateX(-100%);transition:transform .25s ease}
  #sidebar.open{transform:translateX(0);box-shadow:0 0 30px rgba(15,31,61,.25)}
}

/* ===== 黑夜模式:对管理端常用 Tailwind 工具类做覆盖,保证可读 ===== */
.dark .bg-white{background:var(--fs-card-solid)!important;}
.dark .bg-gray-50,.dark .bg-slate-50{background:#1E293B!important;}
.dark .bg-green-50{background:rgba(34,197,94,.12)!important;}
.dark .bg-red-50{background:rgba(239,68,68,.12)!important;}
.dark .bg-amber-50,.dark .bg-orange-50{background:rgba(245,158,11,.12)!important;}
.dark .bg-blue-50,.dark .bg-indigo-50{background:rgba(56,189,248,.12)!important;}
.dark .bg-purple-50{background:rgba(139,92,246,.12)!important;}
.dark .bg-slate-100,.dark .bg-gray-100{background:#1E293B!important;}
.dark .text-gray-800,.dark .text-gray-700,.dark .text-gray-900,.dark .text-slate-700,.dark .text-slate-800{color:#E2E8F0!important;}
.dark .text-gray-600,.dark .text-gray-500,.dark .text-slate-600,.dark .text-slate-500{color:#94A3B8!important;}
.dark .text-gray-400{color:#64748B!important;}
.dark .border,.dark .border-t,.dark .border-b{border-color:rgba(148,163,184,.18)!important;}
.dark .hover\\:bg-slate-50:hover,.dark .hover\\:bg-gray-50:hover{background:#1E293B!important;}
.dark input.login-input,.dark select.login-input,.dark textarea.login-input{background:#1E293B;color:#E2E8F0;}
.dark .shadow-2xl,.dark .shadow-lg{box-shadow:0 10px 40px rgba(0,0,0,.5)!important;}
/* 第三方 logo:保留品牌淡彩亮底,暗色下不覆盖成深色以保证识别度;仅 img 本身透明 */
.fs-logo-box{box-shadow:inset 0 0 0 1px rgba(0,0,0,0.04);}
.dark .fs-logo-box{box-shadow:inset 0 0 0 1px rgba(255,255,255,0.08);}
.dark .fs-logo-box img{background:transparent!important;}

/* ===== 检测表单输入(区块链/交易所检测页,复用变量自动适配三主题+黑夜) ===== */
.fs-input{width:100%;padding:.55rem .85rem;border:1px solid var(--fs-border);border-radius:.6rem;outline:none;transition:all .15s;background:var(--fs-input-bg);font-size:.875rem;color:var(--fs-ink)}
.fs-input:focus{border-color:var(--fs-primary);box-shadow:0 0 0 3px rgba(var(--fs-glow),.15)}
.fs-input::placeholder{color:var(--fs-ink-2);opacity:.7}
.fs-label{display:block;font-size:.78rem;color:var(--fs-ink-2);margin-bottom:.3rem}
select.fs-input{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394A3B8' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;padding-right:1.8rem}
