/* 共享账号栏 + 登录/注册弹框（所有页面共用） */
.topbar{background:#fff;border-bottom:1px solid var(--line,#e5e7eb);box-shadow:0 1px 3px rgba(0,0,0,.04);}
.topbar-inner{max-width:1345px;margin:0 auto;padding:8px 28px;display:flex;justify-content:space-between;align-items:center;gap:16px;}
.tb-left{display:flex;gap:20px;flex-wrap:wrap;align-items:center;}
.tb-link{font-size:13px;font-weight:600;color:var(--brand,#1f4e79);text-decoration:none;padding:4px 10px;border-radius:6px;transition:.15s;}
.tb-link:hover{background:#eef2f7;}
.tb-link.active{background:var(--brand,#1f4e79);color:#fff;}
.tb-link.disabled{color:#9aa4b2;cursor:not-allowed;background:transparent;}
.tb-link.disabled:hover{background:transparent;}
.tb-right{display:flex;align-items:center;gap:12px;}
.tb-avatar{width:30px;height:30px;border-radius:50%;object-fit:cover;background:#eef1f5;display:block;}
.tb-avatar-init{display:flex;align-items:center;justify-content:center;background:var(--brand,#1f4e79);color:#fff;font-weight:700;font-size:13px;}
.tb-user{font-size:13px;font-weight:600;color:var(--ink,#1f2937);}
.tb-btn{background:var(--brand,#1f4e79);color:#fff;border:0;border-radius:7px;padding:6px 14px;font-size:13px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;line-height:1.4;transition:.15s;}
.tb-btn:hover{filter:brightness(1.08);}
.tb-btn.ghost{background:#eef2f7;color:var(--brand,#1f4e79);border:1px solid #cdd9e8;}
/* 弹框（含滚动兜底：矮屏/内容超高时可滚动，不被裁切） */
.modal-bg{display:none;position:fixed;inset:0;background:rgba(15,27,42,.45);z-index:200;align-items:center;justify-content:center;overflow:auto;padding:24px 0;}
.modal{background:#fff;border-radius:12px;width:340px;max-width:92vw;padding:22px 22px 18px;box-shadow:0 12px 40px rgba(0,0,0,.25);max-height:85vh;overflow:auto;}
.modal-h{font-size:17px;font-weight:700;color:var(--brand,#1f4e79);margin:0 0 14px;}
.modal-lab{font-size:12px;color:var(--muted,#6b7280);margin:8px 0 4px;display:block;}
.modal-tip{font-size:11px;line-height:1.5;color:var(--muted,#6b7280);background:#f4f7fb;border-left:2px solid #cdd9e8;padding:5px 9px;border-radius:0 6px 6px 0;margin:-2px 0 2px;}
.modal-inp{width:100%;padding:9px 11px;border:1px solid #cbd5e1;border-radius:8px;font-size:14px;box-sizing:border-box;}
.modal-err{color:#c62828;font-size:12px;min-height:16px;margin:8px 0 0;}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px;}
/* 轻提示基础样式（全站兜底：common.js showToast 动态创建的 #toast 依赖此样式） */
.toast{position:fixed;left:50%;bottom:70px;transform:translateX(-50%);background:#16233a;color:#fff;
  font-size:13px;font-weight:600;padding:10px 18px;border-radius:8px;z-index:300;
  box-shadow:0 6px 24px rgba(0,0,0,.3);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s;
  max-width:86vw;text-align:center;pointer-events:none;}
.toast.show{opacity:1;visibility:visible;}
/* 轻提示类型色（权重高于页面 .toast 默认背景） */
.toast.toast-ok{background:#15803d;}
.toast.toast-warn{background:#b45309;}
.toast.toast-err{background:#b91c1c;}
/* ===== 统一页头（所有页面共用，避免高度/排版漂移） ===== */
header{background:linear-gradient(90deg,var(--brand),var(--brand2));color:#fff;padding:14px 0;overflow:hidden;}
.hd-1{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;font-size:30px;font-weight:700;letter-spacing:1px;opacity:.16;white-space:nowrap;z-index:0;pointer-events:none;margin:0;}
.header-inner{position:relative;max-width:1345px;margin:0 auto;padding:0 28px;display:flex;flex-direction:column;gap:6px;min-height:64px;justify-content:center;}
.hd-row{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;}
.hd-main{display:flex;flex-direction:column;gap:3px;}
.hd-activity{text-align:right;display:flex;align-items:center;gap:10px;justify-content:flex-end;}
.hd-2{font-size:15px;font-weight:600;margin:0 0 3px;}
.hd-3{font-size:11px;opacity:.85;margin:0;}
.home-link{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:#fff;background:rgba(255,255,255,.16);padding:5px 11px;border-radius:20px;text-decoration:none;transition:.15s;}
.home-link:hover{background:rgba(255,255,255,.28);}
/* 仅导航栏吸顶固定；页头(功能名称+描述)与提示横幅随页面一起滚动 */
.app-bar{position:static;}      /* 仅包裹页头，页头随页面滚动 */
#navRoot{position:sticky;top:0;z-index:50;background:#fff;min-height:50px;display:block;box-shadow:0 1px 6px rgba(15,23,42,.10);}  /* 导航栏吸顶固定 */
.topbar{box-shadow:0 2px 6px rgba(15,23,42,.10);}
/* 置顶提示横幅：位于导航栏正下方、100% 宽、洋红强化，便于阅读导入结果/报错 */
.top-banner{display:none;width:100%;box-sizing:border-box;margin:0;padding:14px 28px;text-align:center;
  font-size:15px;font-weight:700;line-height:1.5;color:#d6006e;background:#ffe3f1;
  border-bottom:2px solid #d6006e;position:relative;z-index:49;}
.top-banner.show{display:block;}
.top-banner.ok{color:#0a7d3c;background:#e3f7ec;border-bottom-color:#0a7d3c;}
.top-banner.err{color:#fff;background:#d6006e;border-bottom-color:#a10052;}
.top-banner .bc-sub{display:block;font-size:12px;font-weight:600;opacity:.92;margin-top:2px;}
@media (max-width:768px){ .top-banner{padding:12px 14px;font-size:14px;} }
/* L1：移动端适配（≤768px）—— 表格卡片化 + 布局收拢 */
@media (max-width:768px){
  .topbar-inner{padding:8px 14px;flex-wrap:wrap;gap:8px;}
  .tb-left{gap:10px;flex-wrap:wrap;}
  .header-inner{padding:0 14px !important;}
  .wrap{padding:0 12px !important;margin:10px auto;}
  .controls{display:flex;flex-wrap:wrap;gap:10px;}
  .ctrl{min-width:140px;}
  .stats{flex-direction:column;align-items:flex-start;gap:6px;}
  .stats-right{display:none;}
  .foot-inner{padding:0 14px !important;height:auto;padding-top:8px;padding-bottom:8px;}
  /* 表格转卡片 */
  .table-scroll{border-radius:8px;}
  .table-scroll table,.table-scroll thead,.table-scroll tbody,.table-scroll tr,.table-scroll td,.table-scroll th{display:block;width:100%;box-sizing:border-box;}
  .table-scroll thead{display:none;}
  .table-scroll tbody tr{border:1px solid var(--line,#e5e7eb);border-radius:10px;margin:10px 0;padding:4px 10px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.05);}
  .table-scroll td{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 2px;border:none;border-bottom:1px solid #f1f3f6;text-align:right;}
  .table-scroll td:last-child{border-bottom:none;}
  .table-scroll td::before{content:attr(data-label);font-weight:600;color:var(--muted,#6b7280);text-align:left;flex:0 0 auto;max-width:46%;}
  .table-scroll .img-col{display:none;}
  .table-scroll input.price,.table-scroll input.sell{width:96px;}
}

/* 账号状态徽标（我的页） */
.badge{display:inline-block;font-size:12px;font-weight:600;padding:2px 10px;border-radius:999px;line-height:1.6;}
.badge.ok{background:#e6f6ec;color:#1a7f43;border:1px solid #b7e3c6;}
.badge.warn{background:#fff3e0;color:#b25e00;border:1px solid #ffd9a0;}

/* ===================== 暗夜模式（data-theme="dark"） ===================== */
/* 核心 token 统一覆盖：所有页面 :root 变量 + common.css 用 var() 处均自动变暗 */
:root[data-theme="dark"]{
  --bg:#0f172a; --card:#1e293b; --ink:#e6edf6; --muted:#9aa7b8; --line:#33415a;
  --brand:#3b82f6; --brand2:#60a5fa; --ok:#34d399; --okbg:#0f3d2e; --warn:#f87171; --warnbg:#4a1d1d;
  --orange:#fbbf24; --orangebg:#3a2c12; --accent:#2dd4bf;
  --dev:#fbbf24; --devbg:#3a2c12;
}
/* 少量页面硬编码浅色兜底（暗色模式下强制重着色，避免白底刺眼） */
:root[data-theme="dark"] .topbar,
:root[data-theme="dark"] #navRoot{background:#111c30 !important;border-color:#33415a !important;}
:root[data-theme="dark"] .topbar-inner{background:transparent;}
:root[data-theme="dark"] .tb-link{color:var(--brand2);}
:root[data-theme="dark"] .tb-link:hover{background:#1e2b40;}
:root[data-theme="dark"] .tb-link.active{background:var(--brand);color:#fff;}
:root[data-theme="dark"] .tb-user{color:var(--ink);}
:root[data-theme="dark"] .tb-btn.ghost{background:#1e2b40;color:var(--brand2);border-color:#33415a;}
:root[data-theme="dark"] .tb-link.disabled{color:#5c6b80;}
:root[data-theme="dark"] .modal-bg{background:rgba(0,0,0,.55);}
:root[data-theme="dark"] .modal{background:var(--card);}
:root[data-theme="dark"] .modal-h{color:var(--brand2);}
:root[data-theme="dark"] .modal-lab,.modal-tip{color:var(--muted);}
:root[data-theme="dark"] .modal-tip{background:#0f1c30;border-left-color:#33415a;}
:root[data-theme="dark"] .modal-inp{background:#0f172a;border-color:#33415a;color:var(--ink);}
:root[data-theme="dark"] .home-link{background:rgba(255,255,255,.14);}
:root[data-theme="dark"] .top-banner{background:#2a1622;color:#ff8fbf;border-bottom-color:#ff4f9a;}
:root[data-theme="dark"] .top-banner.ok{background:#0f2e1f;color:#7ee2b0;border-bottom-color:#1f7d52;}
:root[data-theme="dark"] .top-banner.err{background:#3a1320;color:#ffb3c4;border-bottom-color:#ff4f9a;}
/* 页面局部硬编码浅色 */
:root[data-theme="dark"] thead th{background:#243247 !important;color:#cdd9e8 !important;border-color:#33415a !important;}
:root[data-theme="dark"] tbody tr:nth-child(even){background:#172033 !important;}
:root[data-theme="dark"] tbody td{border-color:#2a3648 !important;}
:root[data-theme="dark"] .img-col img{background:#243247;}
:root[data-theme="dark"] .img-zoom{background:var(--card);border-color:#33415a;}
:root[data-theme="dark"] select,input[type=number]{background:#0f172a;border-color:#33415a;color:var(--ink);}
:root[data-theme="dark"] .rate-input{background:#2a230a;color:var(--brand2);}
:root[data-theme="dark"] header{color:#fff;}
:root[data-theme="dark"] .pill.ok{background:var(--okbg);color:var(--ok);}
:root[data-theme="dark"] .pill.no{background:var(--warnbg);color:var(--warn);}
:root[data-theme="dark"] .pill.inf{background:var(--orangebg);color:var(--orange);}
:root[data-theme="dark"] .badge.ok{background:var(--okbg);color:var(--ok);border-color:#1f7d52;}
:root[data-theme="dark"] .badge.warn{background:var(--orangebg);color:var(--orange);border-color:#5c4a16;}

/* ---- 主题滑动开关（置顶页头右上角，仅已登录渲染） ---- */
.theme-switch{position:relative;display:inline-flex;align-items:center;gap:6px;cursor:pointer;user-select:none;}
.theme-switch .ts-track{width:42px;height:22px;border-radius:999px;background:#cbd5e1;position:relative;transition:background .2s;border:1px solid #b6c2d2;}
.theme-switch .ts-thumb{position:absolute;top:50%;left:2px;transform:translateY(-50%);width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:left .2s,background .2s;display:flex;align-items:center;justify-content:center;font-size:11px;line-height:1;}
.theme-switch .ts-icon{font-size:12px;color:var(--muted);}
:root[data-theme="dark"] .theme-switch .ts-track{background:var(--brand);border-color:var(--brand2);}
:root[data-theme="dark"] .theme-switch .ts-thumb{left:22px;background:#0f172a;}
:root[data-theme="dark"] .theme-switch .ts-icon{color:var(--brand2);}
/* 页头(header)为深色渐变背景：开关统一用白色系，浅/暗色下均清晰 */
.hd-activity .theme-switch .ts-icon,
:root[data-theme="dark"] .hd-activity .theme-switch .ts-icon{color:rgba(255,255,255,.92);}
.hd-activity .theme-switch .ts-track{background:rgba(255,255,255,.28);border-color:rgba(255,255,255,.45);}
:root[data-theme="dark"] .hd-activity .theme-switch .ts-track{background:rgba(0,0,0,.30);border-color:rgba(255,255,255,.35);}
.hd-activity .theme-switch .ts-thumb,
:root[data-theme="dark"] .hd-activity .theme-switch .ts-thumb{background:#fff;}
