/* ---------- Options Flow Live ---------- */

.flow-view-header {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px 24px 0;
}

.flow-view-header h2 {
  font-family: var(--font-heading);
  font-size: 18px;
  font-weight: 600;
}

.flow-toolbar {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 24px;
  flex-wrap: wrap;
}

.flow-search {
  position: relative;
  width: 220px;
}

.flow-search input {
  width: 100%;
  background: var(--surface);
  border: 1px solid var(--border);
  color: var(--text);
  font-family: var(--font-ui);
  font-size: 12.5px;
  padding: 9px 14px 9px 34px;
  border-radius: var(--radius-md);
  outline: none;
  transition: border-color 0.15s ease;
}

.flow-search input:focus {
  border-color: var(--accent);
}

.flow-search .icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-faint);
  pointer-events: none;
}

.flow-toggle-group {
  display: flex;
  gap: 6px;
}

.flow-toggle-btn {
  background: var(--surface);
  border: 1px solid var(--border);
  color: var(--text-dim);
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 600;
  padding: 7px 12px;
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}

.flow-toggle-btn:hover {
  border-color: var(--text-faint);
  color: var(--text);
}

.flow-toggle-btn.active {
  background: var(--accent-dim);
  border-color: var(--accent);
  color: var(--accent);
}

.flow-toggle-btn.up.active {
  background: var(--accent-dim);
  border-color: var(--accent);
  color: var(--accent);
}

.flow-toggle-btn.down.active {
  background: var(--red-dim);
  border-color: var(--red);
  color: var(--red);
}

.flow-table-wrap {
  overflow-x: auto;
  padding: 0 24px 24px;
}

.flow-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12.5px;
}

.flow-table thead th {
  text-align: left;
  font-family: var(--font-ui);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-faint);
  padding: 8px 12px;
  border-bottom: 1px solid var(--border);
  white-space: nowrap;
}

.flow-sortable {
  cursor: pointer;
  user-select: none;
}

.flow-sortable:hover {
  color: var(--text);
}

.flow-table tbody td {
  padding: 8px 12px;
  border-bottom: 1px solid var(--border);
  font-family: var(--font-mono);
  white-space: nowrap;
}

.flow-table tbody tr:hover {
  background: var(--surface);
}

.flow-kind-sweep {
  background: var(--purple-dim);
  color: var(--purple);
  border: 1px solid var(--purple);
}

.flow-kind-multi {
  background: var(--amber-dim);
  color: var(--amber);
  border: 1px solid var(--amber);
}

.flow-kind-block {
  background: var(--surface);
  color: var(--text-dim);
  border: 1px solid var(--border);
}

.flow-kind-spread {
  background: var(--accent-dim);
  color: var(--accent);
  border: 1px solid var(--accent);
}

/* ---------- Signals Feed badges ---------- */

.signal-kind-PRICE_LEVEL {
  background: var(--accent-dim);
  color: var(--accent);
  border: 1px solid var(--accent);
}

.signal-kind-VOLUME_SPIKE {
  background: var(--amber-dim);
  color: var(--amber);
  border: 1px solid var(--amber);
}

.signal-kind-GAMMA_FLIP {
  background: var(--purple-dim);
  color: var(--purple);
  border: 1px solid var(--purple);
}

.signal-kind-OTM_DELTA {
  background: var(--red-dim);
  color: var(--red);
  border: 1px solid var(--red);
}

.signal-kind-CONFLUENCE {
  background: var(--amber);
  color: #1a1300;
  border: 1px solid var(--amber);
  font-weight: 700;
}

.signals-row-confluence {
  box-shadow: inset 3px 0 0 var(--amber);
}

.dir-bullish {
  background: var(--accent-dim);
  color: var(--accent);
  border: 1px solid var(--accent);
}

.dir-bearish {
  background: var(--red-dim);
  color: var(--red);
  border: 1px solid var(--red);
}
