/* ============================ 后台 · 日夜模式 ============================
 * 浅色是默认主题（admin.css 里的 :root 变量）；
 * 这里只在 <html data-theme="dark"> 时覆盖，另加一组「主题切换按钮」的样式（两种主题都要用）。
 * 加载顺序：admin.css → admin-dark.css（都在 <head>，所以切换不会闪白）。
 * ==================================================================== */

/* ---------------- 切换按钮 + 菜单（两种主题通用） ---------------- */
.theme-wrap{position:relative;display:inline-flex}
.theme-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:none;
  border:1px solid var(--a-border);border-radius:7px;background:#fff;color:#5b6470;cursor:pointer;
  padding:0;transition:.15s}
.theme-btn:hover{border-color:#c9dcff;color:var(--a-primary);background:#f5f9ff}
.theme-btn svg{width:15px;height:15px}
.theme-btn .ic-sun{display:none}
html[data-theme="dark"] .theme-btn .ic-moon{display:none}
html[data-theme="dark"] .theme-btn .ic-sun{display:block}
.theme-pop{position:absolute;right:0;top:36px;min-width:136px;padding:6px;
  background:var(--a-card);border:1px solid var(--a-border);border-radius:10px;
  box-shadow:0 10px 30px rgba(15,23,42,.16);display:none;z-index:200}
.theme-pop.show{display:block}
.theme-pop button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:0;border-radius:7px;
  background:transparent;font-size:12.5px;color:#5b6470;font-family:inherit;cursor:pointer;text-align:left}
.theme-pop button:hover{background:#f4f6f9}
.theme-pop button.on{color:var(--a-primary);font-weight:600;background:var(--a-primary-l)}
.theme-pop button svg{width:14px;height:14px;flex:none}
.theme-pop .tp-sep{height:1px;background:var(--a-border);margin:5px 4px}

/* 登录页右上角的切换按钮（固定定位） */
.login-theme{position:fixed;top:18px;right:18px;width:34px;height:34px;z-index:20}

/* ---------------- 深色变量 ---------------- */
html[data-theme="dark"]{
  color-scheme:dark;
  --a-primary:#5aa2ff;--a-primary-l:#1c3350;--a-bg:#0e1116;--a-card:#171b21;
  --a-border:#262c35;--a-text:#e6e9ef;--a-muted:#98a2b3;--a-sidebar:#14181e;
  --a-green:#3ecf7a;--a-red:#ff7b7b;--a-orange:#f5a623;
}
html[data-theme="dark"] body{background:var(--a-bg);color:var(--a-text)}
html[data-theme="dark"] .sidebar::-webkit-scrollbar-thumb{background:#333a45}

/* ---------------- 侧边栏 ---------------- */
html[data-theme="dark"] .nav-group>.nav-parent{color:#c2cad6}
html[data-theme="dark"] .nav-sub .nav-group>.nav-parent,
html[data-theme="dark"] .nav-sub>.nav-item.nav-flat{color:#a2acba}
html[data-theme="dark"] .nav-group>.nav-parent:hover,
html[data-theme="dark"] .nav-sub>.nav-item.nav-flat:hover{background:#1f2530;color:#e6e9ef}
html[data-theme="dark"] .nav-item{color:#aab4c2}
html[data-theme="dark"] .nav-item:hover{background:#1f2530;color:#e6e9ef}
html[data-theme="dark"] .nav-item.active{background:var(--a-primary-l);color:#8fc0ff}
html[data-theme="dark"] .nav-parent .chev{color:#5b6573}
html[data-theme="dark"] .nav-label{color:#6b7686}

/* ---------------- 顶栏 ---------------- */
html[data-theme="dark"] .topbar{background:var(--a-card);border-bottom-color:var(--a-border)}
html[data-theme="dark"] .topbar .right{color:#aab4c2}
html[data-theme="dark"] .theme-btn{background:#1f2530;border-color:#2c333d;color:#aab4c2}
html[data-theme="dark"] .theme-btn:hover{background:#26303c;border-color:#3a4553;color:#8fc0ff}
html[data-theme="dark"] .acc-switch select{background:#1f2530;border-color:#2c333d;color:#cdd5e0}
html[data-theme="dark"] .theme-pop{box-shadow:0 12px 34px rgba(0,0,0,.55)}
html[data-theme="dark"] .theme-pop button{color:#aab4c2}
html[data-theme="dark"] .theme-pop button:hover{background:#1f2530}
html[data-theme="dark"] .theme-pop button.on{background:var(--a-primary-l);color:#8fc0ff}

/* ---------------- 面板 / 统计卡 ---------------- */
html[data-theme="dark"] .panel,
html[data-theme="dark"] .stat,
html[data-theme="dark"] .plan-grid .cell{background:var(--a-card);border-color:var(--a-border)}
html[data-theme="dark"] .stat .d{color:#77808f}

/* ---------------- 表格 ---------------- */
html[data-theme="dark"] table.data th{background:#1c2129;color:#9aa4b2;border-bottom-color:var(--a-border)}
html[data-theme="dark"] table.data td{border-bottom-color:#222831}
html[data-theme="dark"] table.data tr:hover td{background:#1d232c}
html[data-theme="dark"] table.data .empty{color:#6b7686}
html[data-theme="dark"] .table-wrap{scrollbar-color:#333a45 transparent}

/* ---------------- 标签 ---------------- */
html[data-theme="dark"] .tag.blue{background:rgba(90,162,255,.15);color:#8fc0ff}
html[data-theme="dark"] .tag.green{background:rgba(62,207,122,.15);color:#5fd992}
html[data-theme="dark"] .tag.gray{background:#252b34;color:#9aa4b2}
html[data-theme="dark"] .tag.red{background:rgba(255,123,123,.15);color:#ff9494}
html[data-theme="dark"] .tag.orange{background:rgba(245,166,35,.16);color:#f5b95c}
html[data-theme="dark"] .tag.gold{background:linear-gradient(180deg,rgba(245,197,66,.22),rgba(245,197,66,.12));color:#f3cd6a;border:1px solid rgba(245,197,66,.28)}

/* ---------------- 按钮 ---------------- */
html[data-theme="dark"] .btn{background:#1f2530;border-color:#2c333d;color:#cdd5e0}
html[data-theme="dark"] .btn:hover{border-color:#3a4553;background:#26303c}
html[data-theme="dark"] .btn.primary{background:#2b7fff;border-color:#2b7fff;color:#fff}
html[data-theme="dark"] .btn.primary:hover{background:#4a95ff}
html[data-theme="dark"] .btn.danger{background:#1f2530;border-color:#5a2f33;color:#ff9494}
html[data-theme="dark"] .btn.danger:hover{background:#2a1e22}
html[data-theme="dark"] .tb-btn{background:#1f2530;border-color:#2c333d;color:#aab4c2}
html[data-theme="dark"] .tb-btn:hover{background:#26303c;border-color:#3a4553;color:#8fc0ff}
html[data-theme="dark"] .tb-btn.is-need{background:#2a2118;border-color:#5b4122;color:#f5b95c}
html[data-theme="dark"] .tb-btn.is-need:hover{background:#332718;border-color:#75511f;color:#ffcb75}
html[data-theme="dark"] .tb-btn.is-need .dot{box-shadow:0 0 0 2px var(--a-card)}
html[data-theme="dark"] .m-menu{background:#1f2530;border-color:#2c333d;color:#aab4c2}
html[data-theme="dark"] .m-menu:active{background:#26303c}

/* ---------------- 表单 ---------------- */
html[data-theme="dark"] input[type=text],
html[data-theme="dark"] input[type=password],
html[data-theme="dark"] input[type=number],
html[data-theme="dark"] input[type=email],
html[data-theme="dark"] input[type=url],
html[data-theme="dark"] input[type=search],
html[data-theme="dark"] input[type=tel],
html[data-theme="dark"] input[type=datetime-local],
html[data-theme="dark"] input[type=date],
html[data-theme="dark"] select,
html[data-theme="dark"] textarea{
  background:#10141a !important;border-color:#2c333d !important;color:var(--a-text) !important}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#65707f}
html[data-theme="dark"] input[readonly]{background:#1b2028 !important;color:#9aa4b2 !important}
html[data-theme="dark"] select option{background:#171b21;color:var(--a-text)}
html[data-theme="dark"] .form-item label,
html[data-theme="dark"] .checkbox{color:#c2cad6}
html[data-theme="dark"] .form-item .tip,
html[data-theme="dark"] .tip{color:#7f8a99}
html[data-theme="dark"] .pager a,
html[data-theme="dark"] .pager span{background:#1f2530;border-color:#2c333d;color:#aab4c2}
html[data-theme="dark"] .pager{color:#8b95a3}
html[data-theme="dark"] .pager .cur{background:var(--a-primary);border-color:var(--a-primary);color:#0b1220}
html[data-theme="dark"] .pager .on{background:var(--a-primary);border-color:var(--a-primary);color:#0b1220}

/* ---------------- 提示条 ---------------- */
html[data-theme="dark"] .alert.info{background:#132a44;color:#93c5fd;border-color:#1d4670}
html[data-theme="dark"] .alert.warn{background:#2b2313;color:#fbbf24;border-color:#57451d}
html[data-theme="dark"] .alert.err{background:#2c1719;color:#fca5a5;border-color:#5c2b2e}
html[data-theme="dark"] .alert.ok{background:#12291d;color:#6ee7a0;border-color:#1f5137}
html[data-theme="dark"] .admin-toast{background:rgba(240,244,250,.95);color:#111827}

/* ---------------- 弹窗 ---------------- */
html[data-theme="dark"] .dialog{background:#171b21;border:1px solid var(--a-border)}
html[data-theme="dark"] .mask{background:rgba(0,0,0,.62)}
html[data-theme="dark"] .side-mask{background:rgba(0,0,0,.55)}

/* ---------------- 登录页 ---------------- */
html[data-theme="dark"] .login-page{background:linear-gradient(135deg,#0d1117,#0a0d12)}
html[data-theme="dark"] .login-box{background:var(--a-card);box-shadow:0 12px 44px rgba(0,0,0,.5);
  border:1px solid var(--a-border)}

/* ---------------- 图表条 ---------------- */
html[data-theme="dark"] .bars .bar-x,
html[data-theme="dark"] .bars .bar-v{color:#7f8a99}

/* ---------------- 徽标 / 权限 / 卡密 ---------------- */
html[data-theme="dark"] .plan-badge.is-super{background:rgba(124,132,255,.16);color:#a5b4fc}
html[data-theme="dark"] .plan-badge.is-ok{background:rgba(62,207,122,.15);color:#5fd992}
html[data-theme="dark"] .plan-badge.is-warn{background:rgba(245,166,35,.16);color:#f5b95c}
html[data-theme="dark"] .plan-badge.is-expired{background:rgba(255,123,123,.15);color:#ff9494}
html[data-theme="dark"] .plan-badge.is-wal{background:rgba(90,162,255,.15);color:#8fc0ff}
html[data-theme="dark"] .perm-list{color:#aab4c2}
html[data-theme="dark"] .perm-list .pm .dot{background:rgba(62,207,122,.16);color:#5fd992}
html[data-theme="dark"] .perm-list .pm.off .dot{background:#252b34;color:#6b7686}
html[data-theme="dark"] .plan-types .pt{background:#1b2028;border-color:var(--a-border)}
html[data-theme="dark"] .code-grid .cc{background:#141a22;border-color:#2c333d;color:#cdd5e0}
html[data-theme="dark"] .code-grid .cc.used{background:#1a1f26;border-color:#252b34;color:#6b7686}
html[data-theme="dark"] .bulkbar{background:#1c2129;border-bottom-color:var(--a-border)}
html[data-theme="dark"] .bulkbar.on{background:#16283d;border-bottom-color:#22405f}
html[data-theme="dark"] .bulkbar .bulk-count,
html[data-theme="dark"] .bulkbar .bulk-tip{color:#9aa4b2}
html[data-theme="dark"] .imp-bar{background:#252b34}
html[data-theme="dark"] .imp-text{color:#c2cad6}
html[data-theme="dark"] .imp-sum-box{background:#141a22;border-color:var(--a-border)}
html[data-theme="dark"] .imp-dup{background:#2b2313;border-color:#57451d;color:#f5b95c}
html[data-theme="dark"] .imp-samples{color:#8b95a3}

/* ---------------- 使用文档 ---------------- */
html[data-theme="dark"] .guide-nav{background:var(--a-bg)}
html[data-theme="dark"] .guide-nav a{background:#1f2530;border-color:#2c333d;color:#aab4c2}
html[data-theme="dark"] .guide-nav a:hover{background:#26303c;border-color:#3a4553;color:#8fc0ff}
html[data-theme="dark"] .g-card{background:var(--a-card);border-color:var(--a-border)}
html[data-theme="dark"] .g-card:hover{border-color:#3a5a80;box-shadow:0 2px 12px rgba(0,0,0,.4)}
html[data-theme="dark"] .g-card .cd{color:#98a2b3}
html[data-theme="dark"] .g-card .ct .ar{color:#5b6573}
html[data-theme="dark"] .g-scene{background:#141a22;border-color:var(--a-border)}
html[data-theme="dark"] .g-scene .flow,
html[data-theme="dark"] .g-step .b p,
html[data-theme="dark"] .g-faq .ga{color:#aab4c2}
html[data-theme="dark"] .g-step .b b,
html[data-theme="dark"] .g-faq .ga b,
html[data-theme="dark"] .g-faq summary{color:var(--a-text)}
html[data-theme="dark"] .g-faq .ga code,
html[data-theme="dark"] .g-faq .ga .mono{background:#252b34;color:#cdd5e0}
html[data-theme="dark"] .g-faq summary::after{color:#6b7686}

/* ---------------- 页面内自绘卡片（各功能页写在 <style> 里的白底块） ---------------- */
html[data-theme="dark"] .cbr-card,
html[data-theme="dark"] .cvt-card,
html[data-theme="dark"] .ij-card,
html[data-theme="dark"] .pg-editor,
html[data-theme="dark"] .pg-main-body,
html[data-theme="dark"] .pg-rte,
html[data-theme="dark"] .pg-rte-bar,
html[data-theme="dark"] .sp-card,
html[data-theme="dark"] .tbkc,
html[data-theme="dark"] .tklp-card,
html[data-theme="dark"] .tklp-item,
html[data-theme="dark"] .tlj-card,
html[data-theme="dark"] .tm-pv-card,
html[data-theme="dark"] .tm-sec,
html[data-theme="dark"] .rail-item,
html[data-theme="dark"] .ph-card,
html[data-theme="dark"] .wl-card{background:var(--a-card) !important;border-color:var(--a-border) !important;color:var(--a-text)}
html[data-theme="dark"] .cvt-head .warn{background:#2b2313;color:#f5b95c}
html[data-theme="dark"] .tm-pv-stats{background:#141a22 !important;border-color:var(--a-border) !important}
html[data-theme="dark"] .pv-text.is-card,
html[data-theme="dark"] .pv-text.is-dashed{background:#1b2028 !important;border-color:var(--a-border) !important}
html[data-theme="dark"] .ij-seg,
html[data-theme="dark"] .ij-bg,
html[data-theme="dark"] .ij-drop{background:#141a22 !important;border-color:var(--a-border) !important}
html[data-theme="dark"] .ij-seg button,
html[data-theme="dark"] .ij-bg button,
html[data-theme="dark"] .ij-card .nav button{background:#1f2530 !important;border-color:#2c333d !important;color:#cdd5e0}
html[data-theme="dark"] .sp-empty,
html[data-theme="dark"] .tbkp-empty,
html[data-theme="dark"] .tklp-item.bad{background:#141a22 !important;border-color:#2c333d !important}

/* ---------------- 内联写死的浅色背景 / 深色文字纠偏 ---------------- */
/* 页面里大量 <div style="background:#fff;color:#5b6674"> 这类写法，用属性选择器兜住 */
html[data-theme="dark"] [style*="background:#fff"],
html[data-theme="dark"] [style*="background: #fff"],
html[data-theme="dark"] [style*="background:#FFFFFF"],
html[data-theme="dark"] [style*="background:#f7f9fc"],
html[data-theme="dark"] [style*="background:#fafbfc"],
html[data-theme="dark"] [style*="background:#fbfcfe"],
html[data-theme="dark"] [style*="background:#fafcff"],
html[data-theme="dark"] [style*="background:#f8f9fa"],
html[data-theme="dark"] [style*="background:#f4f6f9"],
html[data-theme="dark"] [style*="background:#f5f6f8"],
html[data-theme="dark"] [style*="background:#f3f8ff"],
html[data-theme="dark"] [style*="background:#eef5ff"],
html[data-theme="dark"] [style*="background:#f6f8fa"],
html[data-theme="dark"] [style*="background:#f2f4f7"]{background:var(--a-card) !important}
html[data-theme="dark"] [style*="color:#1f2328"],
html[data-theme="dark"] [style*="color: #1f2328"],
html[data-theme="dark"] [style*="color:#111827"],
html[data-theme="dark"] [style*="color:#374151"],
html[data-theme="dark"] [style*="color:#3d434c"]{color:var(--a-text) !important}
html[data-theme="dark"] [style*="color:#5b6470"],
html[data-theme="dark"] [style*="color:#5b6674"],
html[data-theme="dark"] [style*="color:#5a6169"],
html[data-theme="dark"] [style*="color:#4b5563"],
html[data-theme="dark"] [style*="color:#4b5563"]{color:#b7c0cd !important}
html[data-theme="dark"] [style*="color:#8a919c"],
html[data-theme="dark"] [style*="color:#6b7280"]{color:#98a2b3 !important}
html[data-theme="dark"] [style*="color:#b0b7c0"],
html[data-theme="dark"] [style*="color:#a0a7b0"],
html[data-theme="dark"] [style*="color:#b6bcc5"],
html[data-theme="dark"] [style*="color:#c3c9d1"]{color:#6f7887 !important}

/* 这些必须保持白底，否则二维码/商品图会扫不出来 */
html[data-theme="dark"] #hmQr,
html[data-theme="dark"] .hm-qr,
html[data-theme="dark"] .qrcode-box,
html[data-theme="dark"] .qr-wrap,
html[data-theme="dark"] .pay-qr{background:#fff !important}

/* ---------------- 我的账号：余额卡片（plans.php 自带样式） ---------------- */
html[data-theme="dark"] .wal-num{color:var(--a-text)}
html[data-theme="dark"] .wal-num small,
html[data-theme="dark"] .wal-custom .cur{color:#aab4c2}
html[data-theme="dark"] .wal-side{border-left-color:#242a33}
html[data-theme="dark"] .wal-chip{background:#1b2230;border-color:#2c333d;color:#8fc0ff}
html[data-theme="dark"] .wal-chip:hover{background:#22303f;border-color:#3a4a5e}
html[data-theme="dark"] .wal-custom input{background:#10141a;border-color:#2c333d;color:var(--a-text)}
html[data-theme="dark"] .wal-none{background:#2b2313;border-color:#57451d;color:#f5b95c}
@media(max-width:760px){html[data-theme="dark"] .wal-side{border-top-color:#242a33}}

/* ---------------- 批量转链（convert.php 自带一整套 .cvt-* 样式） ---------------- */
html[data-theme="dark"] .cvt-plat{background:var(--a-card);border-color:var(--a-border);color:#cdd5e0}
html[data-theme="dark"] .cvt-plat:hover{border-color:#3a4553}
html[data-theme="dark"] .cvt-plat .st{background:#252b34;color:#8b95a3}
html[data-theme="dark"] .cvt-plat.on{color:#fff}
html[data-theme="dark"] .cvt-head{color:#a2acba}
html[data-theme="dark"] .cvt-head .who{background:#16283d;color:#8fc0ff}
html[data-theme="dark"] .cvt-head .warn{background:#2b2313;color:#f5b95c}
html[data-theme="dark"] .cvt-card{background:var(--a-card) !important;border-color:var(--a-border) !important}
html[data-theme="dark"] .cvt-card .hint{color:#7f8a99}
html[data-theme="dark"] .cvt-card textarea{background:#10141a !important;border-color:#2c333d !important;color:var(--a-text) !important}
html[data-theme="dark"] .cvt-card textarea:focus{background:#10141a !important;border-color:#2b7fff !important;box-shadow:0 0 0 3px rgba(43,127,255,.18) !important}
html[data-theme="dark"] .cvt-opt{background:#1b2028;border-color:var(--a-border)}
html[data-theme="dark"] .cvt-opt:hover{background:#222a36;border-color:#3a4553}
html[data-theme="dark"] .cvt-opt .t{color:var(--a-text)}
html[data-theme="dark"] .cvt-opt .d{color:#7f8a99}
html[data-theme="dark"] .cvt-opt.on{background:#16283d;border-color:#2b7fff;box-shadow:0 0 0 2px rgba(43,127,255,.22)}
html[data-theme="dark"] .cvt-out{background:#12161c !important;border-color:var(--a-border) !important}
html[data-theme="dark"] .cvt-row{border-bottom-color:#242a33}
html[data-theme="dark"] .cvt-row .sub,
html[data-theme="dark"] .cvt-cp,
html[data-theme="dark"] .cvt-prog .tx{color:#7f8a99}
html[data-theme="dark"] .cvt-cp a{color:#8fc0ff}
html[data-theme="dark"] .cvt-txt{color:var(--a-text)}
html[data-theme="dark"] .cvt-empty{color:#6f7887}
html[data-theme="dark"] .cvt-badge.ok{background:rgba(62,207,122,.15);color:#5fd992}
html[data-theme="dark"] .cvt-badge.bad{background:rgba(255,123,123,.15);color:#ff9494}
html[data-theme="dark"] .cvt-stats span{background:#252b34;color:#9aa4b2}
html[data-theme="dark"] .cvt-stats .ok{background:rgba(62,207,122,.15);color:#5fd992}
html[data-theme="dark"] .cvt-stats .bad{background:rgba(255,123,123,.15);color:#ff9494}
html[data-theme="dark"] .cvt-bar{background:#252b34}

/* ---------------- 套餐购买卡 / 功能中心卡 / 授权页标签 ---------------- */
html[data-theme="dark"] .pay-card,
html[data-theme="dark"] .pay-order,
html[data-theme="dark"] .feat-card{background:var(--a-card);border-color:var(--a-border)}
html[data-theme="dark"] .pay-card:hover,
html[data-theme="dark"] .feat-card:hover{border-color:#3a5a80;box-shadow:0 6px 20px rgba(0,0,0,.45)}
html[data-theme="dark"] .pay-card .pc-name,
html[data-theme="dark"] .fc-name{color:var(--a-text)}
html[data-theme="dark"] .pay-card .pc-days,
html[data-theme="dark"] .pay-card .pc-price small,
html[data-theme="dark"] .fc-desc{color:#98a2b3}
html[data-theme="dark"] .pay-card .pc-price,
html[data-theme="dark"] .pay-amount{color:#ff9152}
html[data-theme="dark"] .pay-card .pc-btn{background:linear-gradient(135deg,#2b7fff,#5aa2ff)}
html[data-theme="dark"] .pay-card.off{opacity:.5}
html[data-theme="dark"] .pay-card.off .pc-btn{background:#252b34;color:#6b7686}
html[data-theme="dark"] .pay-tip{background:#2b2313;border-color:#57451d;color:#f5b95c}
html[data-theme="dark"] .feat-card.is-locked{background:#14181e}
html[data-theme="dark"] .feat-card.is-locked .fc-ico{background:#252b34;color:#7f8a99}
html[data-theme="dark"] .nav-item.is-locked:hover{background:#1b2028;color:#8b95a3}
html[data-theme="dark"] .tbkp-tab{background:var(--a-card);border-color:var(--a-border);color:#cdd5e0}
html[data-theme="dark"] .tbkp-tab:hover{border-color:#3a4553}
html[data-theme="dark"] .tbkp-tab.on{background:#2b7fff;border-color:#2b7fff;color:#fff}
html[data-theme="dark"] .tbkp-tab .n{background:#252b34;color:#8b95a3}
html[data-theme="dark"] .cvt-head .who,
html[data-theme="dark"] .tklp-top .who,
html[data-theme="dark"] .tlj-top .who{background:#16283d;color:#8fc0ff}
html[data-theme="dark"] .tlj-sum .pay{background:#33261c;color:#ffa066}
html[data-theme="dark"] .tlj-sum span{background:#232a33 !important;color:#9aa5b3 !important}
html[data-theme="dark"] .tlj-sum span.pay{background:#33261c !important;color:#ffa066 !important}
