/* tab-panel 預設隱藏，active 才顯示（seed.css 統一補齊，不動 main.css） */
.tab-panel { display: none; }
.tab-panel.active { display: block; }
#tabSeed.active { display: flex; flex-direction: column; }

/* ── Toolbar layout ──────────────────────────────────────── */
.seed-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 14px;
  border-bottom: 1px solid var(--border);
  gap: 10px;
  flex-shrink: 0;
  flex-wrap: wrap;
}

.seed-tb-left {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  flex: 1;
  min-width: 0;
}

.seed-tb-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.seed-tb-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.seed-tb-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  background: rgba(59,130,246,.12);
  border: 1px solid rgba(59,130,246,.25);
  border-radius: 12px;
  font-size: 11px;
  color: var(--text);
}

.seed-tb-single {
  display: flex;
  align-items: center;
}

.seed-tb-single-code {
  font-size: 12px;
  color: var(--accent);
  font-weight: 600;
}

.seed-tb-btn {
  padding: 5px 12px;
  font-size: 12px;
  font-weight: 500;
  border-radius: 6px;
  cursor: pointer;
  border: 1px solid var(--border2);
  background: var(--bg2);
  color: var(--text);
  transition: background .15s, border-color .15s;
  white-space: nowrap;
}
.seed-tb-btn:hover { background: var(--bg3); }
.seed-tb-btn:disabled { opacity: .4; cursor: not-allowed; }

.seed-tb-config { color: var(--muted); }
.seed-tb-scan {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}
.seed-tb-scan:hover { opacity: .88; background: var(--accent); }
.seed-tb-scan:disabled { opacity: .4; }
.seed-tb-abort {
  border-color: var(--up);
  color: var(--up);
}
.seed-tb-save {
  border-color: #f7bc2e;
  color: #f7bc2e;
}

.seed-tb-summary {
  font-size: 11px;
  color: var(--muted);
}

.seed-tb-status {
  font-size: 11px;
  color: var(--accent);
}

/* 進度條（toolbar 下方） */
.seed-progress {
  display: none;
  height: 3px;
  background: var(--bg3);
  flex-shrink: 0;
}
.seed-progress-track {
  height: 100%;
  width: 100%;
}


/* 結果列表全寬 */
.seed-result-list {
  flex: 1;
  overflow-y: auto;
}

/* ============================================================
   seed.css — Phase 4 種子選股
   顯隱規則同 Phase 2/3：#tabSeed.active { display:flex }
   ============================================================ */

/* ── Tab 面板顯隱 ─────────────────────────────────────────── */
#tabSeed.active {
  display: flex;
  flex-direction: column;
  gap: 0;
  height: 100%;
  overflow: hidden;
}

/* ── 整體佈局（左右雙欄，手機單欄） ─────────────────────── */
.seed-layout {
  display: flex;
  gap: 0;
  min-height: calc(100vh - 120px);
  overflow: hidden;
  align-items: stretch;
}


/* ── 區塊標題 ─────────────────────────────────────────────── */
.seed-section-title {
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 8px;
}

/* ── 種子輸入區 ───────────────────────────────────────────── */
.seed-input-row {
  display: flex;
  gap: 6px;
}

.seed-input-row input {
  flex: 1;
  padding: 6px 10px;
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: 5px;
  color: var(--text);
  font-size: 13px;
}

.seed-input-row input:focus {
  outline: none;
  border-color: var(--accent);
}

.seed-input-row button,
.seed-from-watchlist-btn {
  padding: 6px 12px;
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: 5px;
  color: var(--text);
  font-size: 12px;
  cursor: pointer;
  white-space: nowrap;
  transition: border-color .15s, background .15s;
}

.seed-input-row button:hover,
.seed-from-watchlist-btn:hover {
  border-color: var(--accent);
  background: rgba(59,130,246,.08);
}

/* ── 種子 Chip ───────────────────────────────────────────── */
.seed-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-height: 28px;
}

.seed-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px 3px 10px;
  background: rgba(59,130,246,.12);
  border: 1px solid rgba(59,130,246,.3);
  border-radius: 14px;
  font-size: 12px;
  color: var(--text);
}

.seed-chip .chip-code { font-weight: 600; color: var(--accent); }
.seed-chip .chip-name { color: var(--muted); font-size: 11px; }

.seed-chip .chip-remove {
  background: none;
  border: none;
  color: var(--muted);
  cursor: pointer;
  font-size: 13px;
  line-height: 1;
  padding: 0 2px;
  margin-left: 2px;
  transition: color .12s;
}
.seed-chip .chip-remove:hover { color: var(--up); }

/* ── 分析按鈕 ─────────────────────────────────────────────── */
.seed-analyze-btn {
  width: 100%;
  padding: 8px;
  background: var(--accent);
  color: #fff;
  border: none;
  border-radius: 5px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: opacity .15s;
}
.seed-analyze-btn:disabled { opacity: .4; cursor: not-allowed; }
.seed-analyze-btn:not(:disabled):hover { opacity: .88; }

/* ── 模板預覽區 ───────────────────────────────────────────── */
#seedTemplatePreview {
  display: none;
  flex-direction: column;
  gap: 10px;
}

.seed-preview-canvas-wrap {
  position: relative;
  background: var(--bg3);
  border-radius: 6px;
  overflow: hidden;
  padding: 6px;
}

#seedPreviewCanvas {
  width: 100%;
  height: 72px;
  display: block;
}

.seed-sector-badge {
  display: inline-block;
  padding: 3px 10px;
  background: rgba(96,165,250,.12);
  border: 1px solid rgba(96,165,250,.25);
  border-radius: 12px;
  font-size: 11px;
  color: var(--ma20);
  align-self: flex-start;
}

/* 指標輪廓 */
.seed-indicator-profile {
  background: var(--bg3);
  border-radius: 6px;
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.ip-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
}

.ip-label { color: var(--muted); min-width: 50px; }
.ip-val   { color: var(--text); font-weight: 500; }
.ip-range { color: var(--hint); font-weight: 400; font-size: 11px; margin-left: 4px; }

/* 分歧度警示 */
.seed-divergence-warning {
  display: none;
  padding: 7px 10px;
  background: rgba(245,158,11,.08);
  border: 1px solid rgba(245,158,11,.25);
  border-radius: 5px;
  font-size: 11px;
  color: var(--kd-k);
  line-height: 1.5;
}

/* ── 評分權重滑桿 ─────────────────────────────────────────── */
.seed-weight-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.seed-weight-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
}

.seed-weight-row .wr-label {
  width: 40px;
  color: var(--muted);
  flex-shrink: 0;
}

.seed-weight-row input[type=range] {
  flex: 1;
  height: 3px;
  accent-color: var(--accent);
}

.seed-weight-row .wr-val {
  width: 34px;
  text-align: right;
  color: var(--text);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

/* ── 掃描範圍 ─────────────────────────────────────────────── */
.seed-filter-section {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.seed-filter-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--muted);
}

.seed-filter-row span { flex-shrink: 0; }

.seed-range-inputs {
  display: flex;
  align-items: center;
  gap: 4px;
  flex: 1;
}

.seed-range-inputs input,
.seed-filter-row > input[type=number] {
  width: 80px;
  padding: 4px 6px;
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: 4px;
  color: var(--text);
  font-size: 12px;
}

.seed-range-sep { color: var(--hint); }

.seed-checkbox-label {
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  color: var(--muted);
  font-size: 12px;
}

.seed-screener-count { color: var(--accent); font-size: 11px; }

/* ── 掃描按鈕 / 中止 ──────────────────────────────────────── */
.seed-scan-btns {
  display: flex;
  gap: 8px;
}

.seed-scan-btn {
  flex: 1;
  padding: 9px;
  background: var(--accent);
  color: #fff;
  border: none;
  border-radius: 5px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: opacity .15s;
}
.seed-scan-btn:disabled { opacity: .4; cursor: not-allowed; }
.seed-scan-btn:not(:disabled):hover { opacity: .88; }

.seed-abort-btn {
  padding: 9px 14px;
  background: transparent;
  border: 1px solid var(--border2);
  border-radius: 5px;
  color: var(--muted);
  font-size: 12px;
  cursor: pointer;
  display: none;
}
.seed-abort-btn:hover { border-color: var(--up); color: var(--up); }

/* ── 儲存組合區 ───────────────────────────────────────────── */
#seedSaveArea { display: none; }

.seed-save-row {
  display: flex;
  gap: 6px;
  margin-bottom: 8px;
}

.seed-save-row input {
  flex: 1;
  padding: 5px 8px;
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: 4px;
  color: var(--text);
  font-size: 12px;
}

.seed-save-row button {
  padding: 5px 12px;
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: 4px;
  color: var(--text);
  font-size: 12px;
  cursor: pointer;
}
.seed-save-row button:hover { border-color: var(--accent); }

.seed-saved-empty { font-size: 12px; color: var(--hint); padding: 4px 0; }

.seed-saved-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 0;
  border-bottom: 1px solid var(--border);
  font-size: 12px;
}
.seed-saved-row:last-child { border-bottom: none; }
.ss-name  { font-weight: 600; color: var(--text); min-width: 60px; }
.ss-codes { flex: 1; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.ss-load, .ss-del {
  padding: 2px 8px;
  background: transparent;
  border: 1px solid var(--border);
  border-radius: 3px;
  color: var(--muted);
  font-size: 11px;
  cursor: pointer;
  white-space: nowrap;
}
.ss-load:hover { border-color: var(--accent); color: var(--accent); }
.ss-del:hover  { border-color: var(--up); color: var(--up); }

/* ── 右側：進度 & 結果 ────────────────────────────────────── */
.seed-result-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  border-bottom: 1px solid var(--border);
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
  flex-shrink: 0;
}

/* 進度條 */
.seed-progress {
  display: none;
  padding: 8px 14px;
  gap: 8px;
  flex-direction: column;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}










.seed-result-empty {
  padding: 40px;
  text-align: center;
  color: var(--hint);
  font-size: 13px;
}

/* ── 結果 table ────────────────────────────────────────────── */
.sr-tbl-wrap {
  flex: 1;
  overflow-y: auto;
}

.sr-tbl {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.sr-tbl-th {
  padding: 5px 10px;
  font-size: 10px;
  font-weight: 600;
  color: var(--hint);
  text-transform: uppercase;
  letter-spacing: .04em;
  border-bottom: 1px solid var(--border);
  white-space: nowrap;
  text-align: left;
  cursor: pointer;
  user-select: none;
}
.sr-tbl-th:hover, .sr-tbl-th.sorted { color: var(--text); }
.sr-tbl-th.no-sort { cursor: default; }

.sr-tbl-row {
  border-bottom: 1px solid var(--border);
  cursor: pointer;
  transition: background .12s;
}
.sr-tbl-row:hover { background: var(--bg3); }

.sr-tbl-td {
  padding: 7px 10px;
  vertical-align: middle;
  white-space: nowrap;
}

/* 代號 */
.sr-tbl-code {
  font-size: 13px;
  font-weight: 600;
  color: var(--accent);
  font-family: 'Courier New', monospace;
}

/* 股名 */
.sr-tbl-name {
  font-size: 12px;
  color: var(--muted);
}

/* 現價 / 漲跌 */
.sr-tbl-price {
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
}
.sr-tbl-chg { font-size: 12px; }
.sr-tbl-chg.up   { color: var(--down); }
.sr-tbl-chg.down { color: var(--up); }

/* 短線 / 長線健康 badge（沿用 hg- prefix，全域已定義）*/

/* 妖股 pill */
.sr-yaogu-pill {
  font-size: 10px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 4px;
  letter-spacing: .04em;
}
.sr-yaogu-pill--x2 { background: rgba(239,83,80,.2);  color: #ef5350; border: 1px solid rgba(239,83,80,.35); }
.sr-yaogu-pill--x1 { background: rgba(245,158,11,.2); color: #f59e0b; border: 1px solid rgba(245,158,11,.35); }
.sr-yaogu-pill--x5 { background: rgba(139,92,246,.2); color: #8b5cf6; border: 1px solid rgba(139,92,246,.35); }

/* 走勢迷你圖 */
.sr-mini-chart {
  width: 60px;
  height: 36px;
  display: block;
}

/* ＋加入按鈕 */
.sr-add-wrap { position: relative; }
.sr-add-btn {
  background: var(--bg3);
  border: 1px solid var(--border2);
  color: var(--muted);
  border-radius: 4px;
  width: 24px; height: 24px;
  font-size: 14px; line-height: 1;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: color .15s, border-color .15s;
}
.sr-add-btn:hover { color: var(--text); border-color: var(--accent); }

.sr-add-dropdown {
  position: absolute;
  right: 0; top: calc(100% + 4px);
  min-width: 140px;
  background: var(--bg2);
  border: 1px solid var(--border2);
  border-radius: 6px;
  z-index: 100;
  box-shadow: 0 4px 16px rgba(0,0,0,.3);
}
.sr-add-group-item {
  padding: 8px 12px;
  font-size: 12px;
  color: var(--text);
  cursor: pointer;
  transition: background .1s;
}
.sr-add-group-item:hover { background: var(--bg3); }

/* 妖股確認橫幅 */
.sr-yaogu-alert {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  background: rgba(239,83,80,.08);
  border-bottom: 1px solid rgba(239,83,80,.2);
  font-size: 12px;
  color: var(--text);
  animation: srAlertIn .25s ease;
  flex-shrink: 0;
}
@keyframes srAlertIn {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}
.sr-yaogu-alert strong { color: #ef5350; }
.sr-yaogu-alert-close {
  margin-left: auto;
  background: none; border: none;
  color: var(--muted); font-size: 12px;
  cursor: pointer; padding: 2px 4px; border-radius: 3px;
  transition: color .15s;
}
.sr-yaogu-alert-close:hover { color: var(--text); }

/* ── 空狀態（掃描前） ─────────────────────────────────────── */
.seed-empty-state {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: var(--hint);
  padding: 40px;
}
.seed-empty-state svg { opacity: .35; }
.seed-empty-state p   { font-size: 13px; margin: 0; }
.seed-empty-state .hint { font-size: 11px; color: var(--hint); text-align: center; }

/* ── 手機響應式 ───────────────────────────────────────────── */
@media (max-width: 768px) {
      .seed-right {
    min-height: 300px;
  }

  .sr-tbl-th:nth-child(n+4) { display: none; }
  .sr-tbl-td:nth-child(n+4) { display: none; }
}

/* ── 群組選單 dropdown ────────────────────────────────────── */
.seed-group-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  min-width: 180px;
  background: var(--bg2);
  border: 1px solid var(--border2);
  border-radius: 6px;
  box-shadow: 0 6px 20px rgba(0,0,0,.4);
  z-index: 200;
  overflow: hidden;
}

.seed-group-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  cursor: pointer;
  font-size: 13px;
  transition: background .12s;
}
.seed-group-item:hover { background: rgba(255,255,255,.05); }

.sgi-name { color: var(--text); font-weight: 500; }
.sgi-count { color: var(--muted); font-size: 11px; margin-left: 10px; }

/* ── 結果列：加入自選按鈕 ────────────────────────────────── */
.sr-add-wrap { flex-shrink: 0; }

.sr-add-btn {
  width: 26px;
  height: 26px;
  border-radius: 5px;
  border: 1px solid var(--border);
  background: transparent;
  color: var(--muted);
  font-size: 15px;
  line-height: 1;
  cursor: pointer;
  transition: border-color .12s, color .12s, background .12s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sr-add-btn:hover {
  border-color: var(--accent);
  color: var(--accent);
  background: rgba(59,130,246,.08);
}

.sr-add-dropdown {
  position: absolute;
  right: 0;
  top: calc(100% + 4px);
  min-width: 140px;
  background: var(--bg2);
  border: 1px solid var(--border2);
  border-radius: 6px;
  box-shadow: 0 6px 20px rgba(0,0,0,.4);
  z-index: 300;
  overflow: hidden;
}

.sr-add-group-item {
  padding: 8px 12px;
  font-size: 12px;
  color: var(--text);
  cursor: pointer;
  transition: background .1s;
}
.sr-add-group-item:hover { background: rgba(255,255,255,.06); }

/* ─── 模式切換 toggle ───────────────────────────────────── */
.seed-mode-toggle {
  display: flex;
  gap: 4px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 0;
  flex: 1;          /* 撐開 header 內空間，避免 tab 被壓到換行 */
  min-width: 0;
}
.seed-mode-btn {
  flex: 1;
  padding: 9px 6px;
  font-size: 12px;
  font-weight: 500;
  color: var(--muted);
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  font-family: inherit;
  transition: color .15s, border-color .15s;
  margin-bottom: -1px;
  white-space: nowrap;   /* 避免「多股模式」擠成兩行 */
}
.seed-mode-btn.active {
  color: var(--text);
  border-bottom-color: var(--accent);
}
.seed-mode-btn:not(.active):hover { color: var(--text); }

/* ─── 單股模式 radio ────────────────────────────────────── */
.seed-radio-label {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  color: var(--text);
  cursor: pointer;
}
.seed-radio-label input[type=radio] {
  accent-color: var(--accent);
  cursor: pointer;
}

/* ─── 個股頁「找相似」按鈕 ──────────────────────────────── */
.sh-similar-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 9px;
  font-size: 11px;
  color: var(--accent);
  background: rgba(59,130,246,.10);
  border: 1px solid rgba(59,130,246,.30);
  border-radius: 5px;
  cursor: pointer;
  transition: background .15s, border-color .15s;
  white-space: nowrap;
}
.sh-similar-btn:hover {
  background: rgba(59,130,246,.20);
  border-color: var(--accent);
}

/* ─── 單股 seed chip ────────────────────────────────────── */
#seedSingleChip .seed-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: rgba(59,130,246,.12);
  border: 1px solid rgba(59,130,246,.30);
  border-radius: 20px;
  font-size: 12px;
  color: var(--text);
}
#seedSingleChip .seed-chip-del {
  cursor: pointer;
  color: var(--muted);
  font-size: 10px;
}
#seedSingleChip .seed-chip-del:hover { color: var(--up); }

/* ─── 設定 Modal ────────────────────────────────────────── */
.seed-modal-bg,
.seed-save-modal-bg {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.55);
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
}

.seed-modal {
  background: var(--bg2);
  border: 1px solid var(--border2);
  border-radius: 12px;
  width: min(560px, 95vw);
  max-height: 85vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 20px 60px rgba(0,0,0,.5);
}

.seed-save-modal {
  background: var(--bg2);
  border: 1px solid var(--border2);
  border-radius: 12px;
  width: min(400px, 92vw);
  box-shadow: 0 20px 60px rgba(0,0,0,.5);
}

.seed-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}

.seed-modal-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
}

.seed-modal-close {
  background: none;
  border: none;
  color: var(--muted);
  font-size: 16px;
  cursor: pointer;
  padding: 2px 6px;
  border-radius: 4px;
}
.seed-modal-close:hover { color: var(--text); background: var(--bg3); }

.seed-modal-body {
  flex: 1;
  overflow-y: auto;
  padding: 6px 0;
}

.seed-modal-section {
  padding: 12px 18px;
  border-bottom: 1px solid var(--border);
}
.seed-modal-section:last-child { border-bottom: none; }

.seed-modal-footer {
  padding: 12px 18px;
  border-top: 1px solid var(--border);
  display: flex;
  justify-content: flex-end;
  flex-shrink: 0;
}

.seed-modal-start {
  padding: 8px 24px;
  background: var(--accent);
  border: none;
  border-radius: 7px;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: opacity .15s;
}
.seed-modal-start:hover { opacity: .88; }

/* #seedSummary 現在在 toolbar，不需要獨立樣式 */
#seedSummary {
  font-size: 11px;
  color: var(--muted);
}
