/* 板块排行：沿用日光主题变量；A 股习惯红涨绿跌 */
.sb-root { display:block; }
.sb-panel { padding-bottom:18px; }
.sb-panel .panel-head p { max-width:860px; }
.sb-controls { display:flex; flex-wrap:wrap; gap:12px 18px; align-items:flex-end; margin:4px 0 12px; }
.sb-controls label { display:flex; flex-direction:column; gap:5px; font-size:12px; color:var(--muted); }
.sb-controls input[type=date], .sb-controls select { height:36px; min-width:150px; padding:0 10px; border:1px solid var(--line); border-radius:8px; background:#121c2b; color:var(--text); font:inherit; font-size:14px; }
.sb-controls .sb-check { flex-direction:row; align-items:center; gap:6px; height:36px; font-size:13px; color:var(--text); }
.sb-status { font-size:13px; color:var(--muted); margin:0 0 10px; font-variant-numeric:tabular-nums; }
.sb-note { margin:0 0 10px; padding:8px 12px; border:1px solid #efe0bf; border-radius:8px; background:#33290f; color:#d6b05c; font-size:13px; }
.sb-up { color:var(--red)!important; }
.sb-down { color:var(--green)!important; }
.sb-stats { margin:0 0 12px; padding:12px 14px; border:1px solid var(--line); border-radius:10px; background:var(--panel-high); }
.sb-stats-head { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px; }
.sb-stats-head strong { font-size:14px; }
.sb-stats-head small, .sb-stats p { color:var(--dim); font-size:12px; }
.sb-stats p { margin:8px 0 0; }
.sb-stat-title { margin-top:10px; font-size:13px; font-weight:600; }
.sb-stat-title small { margin-left:8px; font-weight:400; color:var(--dim); font-size:12px; }
.sb-stat-row + .sb-stat-title { margin-top:12px; }
.sb-muted { color:var(--dim); font-weight:500; }
.sb-heat { margin-top:5px; font-size:12px; color:var(--muted); }
.sb-heat .sb-tag { margin-right:6px; }
.sb-tag.cool { background:#1a293f; color:var(--green); }
.sb-tag.hot { background:#33110f; color:var(--red); }
.sb-tag.warn { background:#33260f; color:#f0b042; }
.sb-tag.soft { background:#19273d; color:var(--muted); }
.sb-risk { display:flex; flex-wrap:wrap; gap:4px 14px; }
.sb-risk-item { cursor:help; }
.sb-stat-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:6px; }
.sb-stat { display:flex; flex-direction:column; gap:2px; padding:8px 12px; border:1px solid var(--line-soft); border-radius:8px; background:#121c2b; }
.sb-stat span { font-size:12px; color:var(--muted); }
.sb-stat strong { font-size:22px; font-weight:600; font-variant-numeric:tabular-nums; }
.sb-stat small { font-size:12px; color:var(--dim); font-variant-numeric:tabular-nums; }
.sb-table.with-after .sb-row { grid-template-columns:44px minmax(150px,2fr) repeat(7,minmax(72px,1fr)); }
.sb-table { border:1px solid var(--line); border-radius:10px; overflow:hidden; background:#121c2b; }
.sb-row { display:grid; grid-template-columns:44px minmax(150px,2fr) repeat(6,minmax(78px,1fr)); align-items:center; gap:8px; width:100%; min-height:48px; padding:6px 14px; border:0; border-top:1px solid var(--line-soft); background:none; color:var(--text); font:inherit; font-size:14px; text-align:right; cursor:pointer; }
.sb-row > span:nth-child(-n+2) { text-align:left; }
.sb-head { cursor:default; min-height:38px; border-top:0; background:var(--panel-high); color:var(--muted); font-size:12px; }
.sb-board:first-of-type .sb-row { border-top:0; }
button.sb-row:hover, .sb-board.open > button.sb-row { background:#0d1420; }
button.sb-row:focus-visible { outline:2px solid var(--cyan); outline-offset:-2px; }
.sb-rank { color:var(--dim); font-family:ui-monospace,monospace; font-size:12px; }
.sb-name strong { display:block; font-weight:600; }
.sb-name small { display:block; color:var(--dim); font-size:11px; margin-top:2px; }
.sb-pick { font-weight:600; color:var(--cyan); }
.sb-pick.none { color:var(--dim); font-weight:400; }
.sb-detail { padding:12px 14px 16px; border-top:1px solid var(--line-soft); background:#0f1826; }
.sb-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(460px,1fr)); gap:12px; }
.sb-card { border:1px solid var(--line); border-radius:10px; background:#121c2b; padding:10px 12px 8px; min-width:0; }
.sb-card header { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:4px 12px; }
.sb-card header strong { font-size:15px; }
.sb-card header small { margin-left:6px; color:var(--dim); font-family:ui-monospace,monospace; font-size:12px; }
.sb-quote { display:flex; flex-wrap:wrap; gap:4px 12px; font-size:13px; color:var(--muted); }
.sb-quote > span:first-child { font-size:16px; font-weight:600; }
.sb-quote b { color:var(--text); font-weight:500; }
.sb-tag { padding:1px 6px; border-radius:4px; background:#33110f; color:var(--red); font-size:12px; }
.sb-info { display:flex; flex-wrap:wrap; gap:2px 10px; min-height:18px; margin:6px 0 4px; font-size:11px; color:var(--muted); font-family:ui-monospace,"Noto Sans CJK SC",monospace; font-variant-numeric:tabular-nums; }
.sb-chart { display:block; width:100%; height:340px; touch-action:pan-y; cursor:crosshair; user-select:none; }
.sb-bar { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:6px 12px; margin-top:6px; }
.sb-after { font-size:12px; color:var(--muted); padding:2px 8px; border-radius:5px; background:#0f2133; }
.sb-after b { font-weight:600; }
.sb-tools { display:inline-flex; gap:4px; margin-left:auto; }
.sb-tools button { height:26px; min-width:30px; padding:0 8px; border:1px solid var(--line); border-radius:6px; background:#121c2b; color:var(--text); font:inherit; font-size:12px; cursor:pointer; }
.sb-tools button:hover { background:#0d1420; }
.sb-tools button:focus-visible { outline:2px solid var(--cyan); outline-offset:1px; }
.sb-day { font-style:normal; padding:0 5px; border-radius:4px; background:#b5bfcf; color:#121c2b; }
.sb-day.after { background:#5c99d6; }
html.sb-lock { overflow:hidden; }
.sb-overlay { position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center; padding:24px; background:rgba(0,0,0,.45); }
.sb-modal { display:flex; flex-direction:column; width:min(1280px,100%); height:min(860px,calc(100vh - 48px)); height:min(860px,calc(100dvh - 48px)); overflow:hidden; padding:14px 18px 10px; border-radius:12px; background:#121c2b; box-shadow:0 18px 50px rgba(0,0,0,.25); }
.sb-modal > * { flex:0 0 auto; }
.sb-modal header { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 14px; }
.sb-modal header strong { font-size:17px; }
.sb-modal header small { margin-left:6px; color:var(--dim); font-family:ui-monospace,monospace; }
.sb-close { margin-left:auto; width:34px; height:34px; border:1px solid var(--line); border-radius:8px; background:#121c2b; font-size:20px; line-height:1; color:var(--text); cursor:pointer; }
.sb-modal .sb-chart-big { flex:1 1 0; height:0; min-height:160px; touch-action:none; }
.sb-hint { margin:6px 0 0; font-size:12px; color:var(--dim); }
.sb-foot { margin:12px 2px 0; font-size:12px; color:var(--dim); }
@media (max-width:900px) {
  .sb-row { grid-template-columns:34px minmax(120px,1.6fr) repeat(3,minmax(70px,1fr)); padding:6px 10px; font-size:13px; }
  .sb-row > span:nth-child(n+5):not(:last-child) { display:none; }
  .sb-cards { grid-template-columns:1fr; }
  .sb-table.with-after .sb-row { grid-template-columns:34px minmax(120px,1.6fr) repeat(3,minmax(70px,1fr)); }
}
@media (max-width:520px) {
  .sb-controls label, .sb-controls input[type=date], .sb-controls select { width:100%; }
  .sb-row { grid-template-columns:28px minmax(0,1.5fr) minmax(64px,1fr) minmax(44px,.6fr); gap:6px; }
  .sb-row > span:nth-child(4) { display:none; }
  .sb-table.with-after .sb-row { grid-template-columns:28px minmax(0,1.5fr) minmax(64px,1fr) minmax(44px,.6fr); }
  .sb-stat-row { grid-template-columns:1fr; }
  .sb-stat { flex-direction:row; align-items:baseline; gap:10px; }
  .sb-stat strong { font-size:18px; }
  .sb-detail { padding:10px 8px 12px; }
  .sb-chart { height:300px; }
  .sb-overlay { padding:0; }
  .sb-modal { width:100%; height:100vh; height:100dvh; border-radius:0; padding:8px 8px 4px; }
  .sb-modal header strong { font-size:15px; }
  .sb-modal .sb-quote { font-size:12px; gap:2px 8px; }
  .sb-modal .sb-info { font-size:10px; gap:0 8px; }
}
@media (max-height:560px) {
  .sb-overlay { padding:0; }
  .sb-modal { width:100%; height:100vh; height:100dvh; border-radius:0; padding:6px 10px 2px; }
  .sb-modal .sb-info { flex-wrap:nowrap; overflow:hidden; white-space:nowrap; font-size:10px; min-height:14px; margin:2px 0; }
  .sb-hint { display:none; }
}

/* 二板跟踪（v14） */
.sb-tabs { display:flex; gap:6px; margin:0 0 14px; }
.sb-tab { height:34px; padding:0 16px; border:1px solid var(--line); border-radius:8px; background:#121c2b; color:var(--muted); font:inherit; font-size:14px; cursor:pointer; }
.sb-tab:hover { color:var(--text); }
.sb-tab.active { border-color:var(--cyan); color:var(--cyan); background:#0f1f2e; }
.sb-tab:focus-visible { outline:2px solid var(--cyan); outline-offset:2px; }
.sb-tag.plain { background:#19273d; color:var(--text); }
.sb2-research summary { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px; cursor:pointer; font-size:14px; }
.sb2-research summary small { color:var(--dim); font-size:12px; }
.sb2-research ul { margin:8px 0 0; padding-left:18px; color:var(--muted); font-size:13px; line-height:1.7; }
.sb2-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:10px; background:#121c2b; }
.sb2-table { width:100%; min-width:980px; border-collapse:collapse; font-size:13px; font-variant-numeric:tabular-nums; }
.sb2-table th { position:sticky; top:0; padding:9px 12px; text-align:left; font-weight:500; font-size:12px; color:var(--muted); background:var(--panel-high); border-bottom:1px solid var(--line); white-space:nowrap; }
.sb2-table td { padding:8px 12px; vertical-align:top; border-top:1px solid var(--line-soft); color:var(--text); }
.sb2-table td small { display:block; margin-top:3px; color:var(--muted); font-size:12px; }
.sb2-table td small b, .sb2-table td b { font-weight:600; }
.sb2-table td .sb-tag { font-size:11px; }
.sb2-row { cursor:pointer; }
.sb2-row:hover, .sb2-row.open { background:#0d1420; }
.sb2-row:focus-visible { outline:2px solid var(--cyan); outline-offset:-2px; }
.sb2-detail > td { padding:10px 12px 14px; background:#0f1826; }
.sb2-sticky { position:sticky; left:12px; max-width:1100px; }
.sb2-card { min-width:0; }
.sb2-card .sb-bar > .sb-after { flex:1 1 100%; min-width:0; }
/* v15 首板跟踪：平铺列表、日期分隔行、D-5..D1 小走势 */
.live-content table.sb3-table { min-width:1000px; }          /* 盖过 daylight.css 的 .live-content table 最小宽度 640px */
.sb3-table td { white-space:normal; }
.sb3-table td:first-child { min-width:150px; }
.sb3-day th { position:static; padding:12px 12px 8px; text-align:left; font-size:13px; font-weight:500; color:var(--muted); background:#0f1826; border-top:1px solid var(--line); border-bottom:1px solid var(--line-soft); white-space:normal; }
.sb3-dayin { position:sticky; left:12px; max-width:1100px; }
.sb3-date { margin-right:10px; color:var(--text); font-weight:600; font-size:14px; }
.sb3-gap td { padding:10px 12px; color:#d6b05c; background:#33290f; font-size:12px; }
.sb3-empty td { color:var(--dim); font-size:12px; }
.sb3-spark { vertical-align:middle; margin-left:4px; }
.sb3-spark .bar { fill:#5b6f8a; }
.sb3-spark .now { fill:var(--cyan); }
.sb3-spark .up { fill:var(--red); opacity:.7; }
.sb3-spark .dn { fill:var(--green); opacity:.7; }
.sb3-spark .up.now, .sb3-spark .dn.now { opacity:1; }
.sb3-spark .axis { stroke:#2a3a52; stroke-width:1; }
.sb3-spark .ref { stroke:#5b6f8a; stroke-width:1; stroke-dasharray:2 2; }
.sb3-more { margin:12px 0 0; text-align:center; font-size:13px; color:var(--muted); }
.sb3-prof-wrap { overflow-x:auto; margin-top:10px; }
.sb3-prof { border-collapse:collapse; font-size:12px; font-variant-numeric:tabular-nums; }
.sb3-prof caption { text-align:left; padding:0 0 6px; color:var(--dim); font-size:12px; }
.sb3-prof th, .sb3-prof td { padding:4px 8px; border:1px solid var(--line-soft); text-align:right; color:var(--text); }
.sb3-prof th { color:var(--muted); font-weight:500; background:var(--panel-high); }
.sb3-prof tbody th { text-align:left; white-space:nowrap; }
/* 回踩二波：平铺卡片，按日期分隔；卡片直接画日 K 与 5 分钟 K */
.sb4-day { margin:18px 0 10px; padding:10px 12px; font-size:13px; color:var(--muted); background:#0f1826; border:1px solid var(--line-soft); border-radius:8px; }
.sb4-gap { color:var(--dim); }
.sb4-cards { grid-template-columns:repeat(auto-fill,minmax(520px,1fr)); }
.sb4-card { min-height:780px; display:flex; flex-direction:column; }
.sb4-tags { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:6px 0 2px; }
.sb4-tags small { color:var(--dim); font-size:12px; }
.sb4-facts { display:flex; flex-wrap:wrap; gap:2px 14px; margin:4px 0 6px; font-size:12px; color:var(--muted); line-height:1.6; }
.sb4-facts b { color:var(--text); font-weight:500; }
.sb4-sub { font-size:12px; color:var(--dim); }
.sb4-wait { flex:1; display:flex; align-items:center; justify-content:center; gap:8px; min-height:640px; }
.sb4-note { margin:10px 0 0; font-size:12px; color:var(--dim); }
.sb4-m5 { height:300px; }
.sb4-card.daily-only { min-height:470px; }
.sb4-card.daily-only .sb4-wait { min-height:330px; }
.sb4-empty { margin:4px 0 0; }
@media (max-width: 640px) {
  .sb4-cards { grid-template-columns:1fr; }
  .sb4-card { min-height:700px; }
  .sb4-wait { min-height:560px; }
  .sb4-m5 { height:260px; }
  .sb4-card.daily-only { min-height:430px; }
  .sb4-card.daily-only .sb4-wait { min-height:300px; }
}
